使用PHP 5.4添加警告以提醒时区问题,此错误非常常见:
警告:strtotime():依赖系统的时区设置是不安全的。您必需使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们现在选择了时区'UTC',但请设置date.timezone以选择您的时区。在第42行的somefile.php中
好的,够公平的。添加date_default_timezone_set('UTC')
很简单,但我不想为每个脚本执行此操作,尤其是在CLI上执行操作时。
所以我在php.ini文件中添加了一行:
date.timezone=UTC
而且......它不起作用。警告仍然出现。
为了调试,我这样做了:
echo file_get_contents(php_ini_loaded_file());
它输出:
extension=./ext/php_gd2.dll extension=./ext/php_oauth.dll extension=./ext/php_curl.dll date.timezone=UTC
extension
行全部工作 - 我把它们拿出去,我不能使用这些功能,我把它们放进去,我可以。这只是date.timezone
而不是。我做错了什么?
答案 0 :(得分:0)
我在OpenWRT上遇到了类似的问题 - 事实证明你需要这样做 正确设置/ etc / localtime
Chek / usr / share / zoneinfo /可用时区(更新系统如果 需要)并选择你的风味(只需复制正确的文件)。
我遇到的另一个问题是拥有不同的php.ini文件 不同版本的php - cgi,fpm,cli等 - 请确保你的 在你拥有的所有php.ini文件中添加了date.timezone行 你的系统。
修改强>
你的php.ini文件中可能有第二行,如下所示:
; some lines of variables
date.timezone = UTC
; more lines of variables
date.timezone =
; even more lines
,这会有效地覆盖你的date.timezone