php.ini, date.timezone :
[Date]
date.timezone = 'America/Chicago'
PHP.
script , :
<?php
function setTimezone($OSXPassword = null){
$timezone = null;
switch(true){
case(file_exists('/etc/timezone')):
$timezone = file_get_contents('/etc/timezone');
$timezone = trim($timezone);
break;
case(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'):
$timezone = exec('tzutil /g');
break;
case(file_exists('/usr/sbin/systemsetup')):
if(!isset($OSXPassword)){
$OSXPassword = readline('**WARNING your input will appear on screen!** Password for sudo: ');
}
$timezone = exec("echo '" . $OSXPassword ."' | sudo -S systemsetup -gettimezone");
$timezone = substr($timezone, 11);
break;
}
if(empty($timezone)){
trigger_error('setTimezone could not determine your timezone', E_USER_ERROR);
} else {
date_default_timezone_set($timezone);
}
return $timezone;
}
setTimezone();
?>
, OSX .
OSX - systemsetup, . root PHP , - , . OSX, root , script .