我在 Yii2 应用程序中设置了时区,如 config/web.php 中的文档所述:
'timeZone' => 'Europe/Berlin',
Run Code Online (Sandbox Code Playgroud)
但是:这仅对 Yii2 有效,显然不适用于 PHP 函数,例如date()
. PHP 时区设置保持不变,因此 PHP 和 Yii2 之间存在差异。
如何使 Yii2 时区成为根据 Yii2 配置中的时区设置设置 PHP 时区的领先时区?
编辑
时区是在应用程序组件中设置的\Yii::$app
,而不是在格式化程序组件中设置的。
我无法修改php.ini
文件。
我找到了一个无需修改的解决方案php.ini
:
根据Yii2 设置来设置 PHP 时区./web/index.php
:./yii
$application = Yii::createObject('yii\web\Application', [$config->web()]);
// make PHP use the same timezone as Yii2
date_default_timezone_set($application->timeZone);
$application->run();
Run Code Online (Sandbox Code Playgroud)
请不要忘记以类似的方式修改控制台命令yii
/ 。yii.bat