【发布时间】:2016-04-05 17:37:12
【问题描述】:
我正在尝试编写一个使用获取当前本地时间的 php 脚本
localtime(time(), true);
重要的是将此时间设置为与服务器上的本地时间相同,即欧洲/伦敦,因为有一个 crontab 每小时调用一次此脚本。考虑到夏令时也很重要。
我服务器上的时钟是正确的,当我在 PHP 交互式 shell 上运行该函数时,会返回正确的时间,但是当 Apache 运行脚本时,它会报告 一个小时后,并且tm_isdst 记录 错误。
我检查了我的 Apache php.ini 文件,我确定它是正确的文件,因为我检查了 phpinfo(),但是也许还有其他文件覆盖了这个文件?
我也尝试过重新加载和重新启动 Apache(成功),但它仍然没有考虑正确的时间。
非常感谢您的帮助。
【问题讨论】:
-
尝试在您的 php.ini 文件中添加 date.timezone = "Europe/London"。然后重启apache2服务。如果可行,我会更改我的评论以获得答案
-
这里是 PHP/MySQL 与服务器时区同步的详细站点:sitepoint.com/synchronize-php-mysql-timezone-configuration
-
@SamyQc 谢谢,对不起,我可能不清楚这一点。我的 php.ini 文件设置了“欧洲/伦敦”。 'date.timezone = "欧洲/伦敦"'。我还使用 phpinfo() 检查了我正在编辑正确的 .ini 文件
标签: php linux apache time localtime