无法在 PHP 中设置默认时区

发布于 2024-11-10 04:10:19 字数 434 浏览 4 评论 0原文

我已在 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

当使用mod-php(apache2)而不是fcgi(nginx中的php)时,date.timezone是正确的。

I've set this in my php.ini file, and restarted php5-fpm process

date.timezone = "UTC"

But phpinfo() script still shows this:

date.timezone   America/New_York    America/New_York

phpinfo() also shows that correct ini file is being used.

I've restarted - but problem persisted. Then I did:

sudo service nginx stop
sudo service apache2 start

and date.timezone is correct when mod-php (apache2) is in use instead of fcgi that is php in nginx.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

青衫负雪 2024-11-17 04:10:20

在我的默认安装中,我有非常奇怪的配置。文件 /etc/php/7.3/fpm/pool.d/www.conf 在文件末尾有这样的设置,

php_admin_value[date.timezone] = UTC

它导致 php.ini 中的时区设置被忽略,并且默认系统时区被忽略。

In my installation BY DEFAULT I had realy weird configuration. File /etc/php/7.3/fpm/pool.d/www.conf had such a setting at the end of the file

php_admin_value[date.timezone] = UTC

It lead to timezone setting being ignored in php.ini and default system timezone being ignored.

晨光如昨 2024-11-17 04:10:20

如果您有一个具有活动 chroot 的池,请检查您的 FPM 安装!

如果您有 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

Check your FPM Installation, if you have a pool with a active chroot!

If you have a chroot environment, you need to copy the file /etc/localtime (symlink to /usr/share/zoneinfo/xyz) and the directory /usr/share/zoneinfo to your chroot.

Possible Error-Messages:

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.

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

一梦等七年七年为一梦 2024-11-17 04:10:19

您可能编辑了错误的 php.ini。请参阅 php_info() (或用于 cli 解释器的 php -i)使用哪一个。例如,在 ubuntu(可能还有其他 Linux 发行版)上,其 cli 解释器的 /etc/php5/cli/php.ini/etc/php5/apache/php.ini/< /code> 用于 Apache mod_php 使用的文件,以及 php5-cgi 使用的 /etc/php5/cgi/php.ini (即由 nginx 使用)。

You probably edited the wrong php.ini. See php_info() (or php -i for the cli interpreter) which one is used. For example on ubuntu (and probably other linux distributions) its /etc/php5/cli/php.ini for the cli-interpreter, /etc/php5/apache/php.ini/ for the one used by Apaches mod_php and /etc/php5/cgi/php.ini used by php5-cgi (which is used by nginx).

顾北清歌寒 2024-11-17 04:10:19

问题似乎出在 php-fpm 进程上,该进程徘徊并引用旧的 php.ini 文件设置。
这对我有用:

获取 php-fpm 的进程 ID

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

使用 init 脚本启动 php-fpm

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

The problem seems to be be with php-fpm processes that lingers around and refers to the old php.ini file settings.
This worked for me:

Get the process ids for 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 the processes. Starting with the master.

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

Start php-fpm using the init script

service php5-fpm start or /etc/init.d/php5-fpm start
超可爱的懒熊 2024-11-17 04:10:19

支持的时区值列表:http://php.net/timezones

List of supported timezone values: http://php.net/timezones

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文