it-swarm.com.de

Die Standard-Zeitzone kann nicht eingestellt werden PHP

Ich habe dies in meiner php.ini-Datei festgelegt und den php5-fpm-Prozess neu gestartet

date.timezone = "UTC"

Aber das Skript phpinfo () zeigt immer noch Folgendes:

date.timezone   America/New_York    America/New_York

phpinfo() zeigt auch an, dass die richtige INI-Datei verwendet wird.

Ich habe neu gestartet - aber das Problem blieb bestehen. Dann habe ich gemacht:

Sudo service nginx stop
Sudo service Apache2 start

und date.timezone ist korrekt, wenn mod-php (Apache2) anstelle von fcgi verwendet wird, das in nginx php ist.

12
Stann

Sie haben wahrscheinlich den falschen php.ini bearbeitet. Siehe php_info() (oder php -i für den verwendeten cli-Interpreter). Zum Beispiel auf Ubuntu (und wahrscheinlich anderen Linux-Distributionen) sein /etc/php5/cli/php.ini für den Cli-Interpreter, /etc/php5/Apache/php.ini/ für den von Apaches verwendeten mod_php und /etc/php5/cgi/php.ini für php5-cgi (der von nginx verwendet wird).

7
KingCrunch

Liste der unterstützten Zeitzonenwerte: http://php.net/timezones

2
Dave Kiss

Das Problem scheint mit PHP-FPM-Prozessen zu sein, die herumlungern und auf die alten Einstellungen der Datei php.ini verweisen. Das hat bei mir funktioniert:

Holen Sie sich die Prozess-IDs für 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   

Töte die Prozesse. Mit dem Meister anfangen.

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

Starten Sie php-fpm mit dem Init-Skript

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

Überprüfen Sie Ihre FPM-Installation, wenn Sie einen Pool mit einer aktiven Chroot haben!

Wenn Sie eine Chroot-Umgebung haben, müssen Sie die Datei/etc/localtime (Symlink zu/usr/share/zoneinfo/xyz) und das Verzeichnis/usr/share/zoneinfo in Ihre Chroot-Umgebung kopieren.

Mögliche Fehlermeldungen:

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.

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

0
Octeny