未设置 PHP 时区

2022-01-16 00:00:00 timezone php

首先,我无法访问网络服务器中的 php.ini.

First of all, i don't have access to the php.ini in the webserver.

在我的本地服务器中,我将 date.timezone = "Europe/Lisbon" 放入我的 php.ini 中.

In my local server I put date.timezone = "Europe/Lisbon" in my php.ini.

是否可以在 .htaccess 中进行更改?或者,有什么替代方案?

Is it possible to change this in .htaccess? or, what is the alternative?

目前我在 phpmailer():

Strict Standards:  date(): It is not safe to rely on the system's timezone settings. ....

推荐答案

再想一想,ini_set 可能不是最好的方法.显然 E_STRICT 标准说你应该使用 date_default_timezone_set 代替.

On second thought, ini_set may not be the best way to go. Apparently E_STRICT standards say that you should use date_default_timezone_set instead.

尝试类似:

date_default_timezone_set('Europe/Lisbon');

$tz = date_default_timezone_get();

可以在此处找到有关此问题的更多信息:http://answers.google.com/answers/threadview/id/739376.html

More info can be found here about the issue: http://answers.google.com/answers/threadview/id/739376.html

这里是 default_timezone 函数:
http://us2.php.net/manual/en/function.date-默认时区设置.php

And here for the default_timezone functions:
http://us2.php.net/manual/en/function.date-default-timezone-set.php

我在浏览 github 时发现了这个小宝石.

I found this little gem while I was browsing github.

// has to be set to reach E_STRICT compatibility, does not affect system/app settings
date_default_timezone_set(date_default_timezone_get());

这似乎是最好的解决方案.

This seems like the best solution.

相关文章