it-swarm.com.ru

Не могу установить часовой пояс по умолчанию в PHP

Я установил это в моем файле 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.

12
Stann

Вы, вероятно, отредактировали неправильный 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).

7
KingCrunch

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

2
Dave Kiss

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

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

[email protected]:/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, используя скрипт init

service php5-fpm start or /etc/init.d/php5-fpm start
2
thiru

Проверьте установку 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

0
Octeny