Не могу установить часовой пояс по умолчанию в PHP - PullRequest
12 голосов
/ 27 мая 2011

Я установил это в своем файле php.ini и перезапустил процесс php5-fpm

date.timezone = "UTC"

Но скрипт phpinfo () все еще показывает это:

date.timezone   America/New_York    America/New_York

phpinfo() также показывает, что используется правильный INI-файл.

Я перезапустил - но проблема осталась. Тогда я сделал:

sudo service nginx stop
sudo service apache2 start

и date.timezone верны, когда используется mod-php (apache2) вместо fcgi, который является php в nginx.

Ответы [ 4 ]

7 голосов
/ 27 мая 2011

Вы, вероятно, отредактировали неправильно php.ini.См. php_info() (или php -i для интерпретатора cli), какой из них используется.Например, в Ubuntu (и, возможно, в других дистрибутивах Linux) его /etc/php5/cli/php.ini для интерпретатора cli, /etc/php5/apache/php.ini/ для используемого Apache mod_php и /etc/php5/cgi/php.ini используемого php5-cgi (используемого nginx).

2 голосов
/ 21 апреля 2015

Проблема, похоже, связана с процессами php-fpm, которые задерживаются и ссылаются на старые настройки файла php.ini. Это сработало для меня:

Получить идентификаторы процессов для php-fpm

root@thiru:/etc/php5/fpm/conf.d# ps aux | head -1 && ps aux | grep php-fpm | grep -v grep
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     32650  0.0  0.5  86624 17032 ?        Ss   21:44   0:00    php-fpm: master process (/etc/php5/fpm/php-fpm.conf)                    
www-data 32652  0.0  0.1  86624  4700 ?        S    21:44   0:00 php-fpm: pool www                                                       
www-data 32653  0.0  0.1  86624  4704 ?        S    21:44   0:00 php-fpm: pool www   

убить процессы. Начиная с мастера.

kill -9 32650
kill -9 32652
kill -9 32653

Запустите php-fpm, используя скрипт инициализации

service php5-fpm start or /etc/init.d/php5-fpm start
2 голосов
/ 27 мая 2011

Список поддерживаемых значений часового пояса: http://php.net/timezones

0 голосов
/ 04 октября 2018

Проверьте установку FPM, если у вас есть пул с активным chroot!

Если у вас есть среда chroot, вам нужно скопировать файл / etc / localtime (символическая ссылка на / usr / share / zoneinfo/ xyz) и каталог / usr / share / zoneinfo для вашего chroot.

Возможные сообщения об ошибках:

Fatal error: phpinfo(): Timezone database is corrupt - this should *never* happen!  
Warning: phpinfo(): Invalid date.timezone value ‘UTC’, we selected the timezone ‘UTC’ for now.

См. https://serverfault.com/questions/413293/php-fpm-chroot-jail-corrupts-timezone-db

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...