为特定文件夹设置时区


Set timezone for specific folder?

我想在php.ini文件中将特定文件夹设置为另一个时区,这样我就不必在文件夹中的每个文件中手动设置它。

[Date]
date.timezone = Europe/Berlin
Folder[Date] /* something like this? */
date.timezone = America/New_York

您应该能够使用.htaccess在每个目录的基础上设置默认时区。

只需添加

php_value date.timezone "America/New_York"

到该目录中的.htaccess文件,并确保您的服务器支持按目录配置。

在该文件夹中的脚本中使用date_default_timezone_set。

您也可以在htaccess中设置:

php_value date.timezone "America/New_York"

为此,您需要在Apache中使用mod_php。另请参阅此问题。

您也可以在.htaccess文件中使用:

SetEnv TZ America/New_York

php_value应该适用于每个系统,但可能不适用于某些服务器。但我真的建议使用正常的php函数:

date_default_timezone_set('America/New_York');

http://php.net/manual/en/function.date-default-timezone-set.php

在具有特定于脚本的配置的特定文件中,然后将该文件包含在其他文件中。

当使用Web服务器时,这些答案都是正确的,但是运行PHP CLI脚本(例如cronjob)是不起作用的。PHP将使用在php.ini中定义的date.timezone设置。

最好的做法是,只在应用程序包装器/引导程序文件的顶部调用date_default_timezone_set

date_default_timezone_set('America/New_York');