默认时区的差错在php
-
22-07-2019 - |
题
我得到了以下error/warning,同时特林安装Kohana/SilverStripe.
它是什么意思,我怎么做呢?
Warning:
date_default_timezone_get():
It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.
We selected 'Asia/Calcutta' for '5.5/no DST' instead in C:\Server\apache\htdocs\kohana\system\core\Kohana.php on line 136
在此先感谢!
解决方案
这不是错误,而是警告,因此它不会阻止您的应用程序运行。
使用 C:\Server\apache\htdocs\kohana\system\core\Kohana.php 第 136 行中的 date_default_timezone_set() 显式设置正确的时区
你必须选择其中 有效时区
编辑
正如警告消息本身指出的那样,您实际上有一个比编辑第三方软件文件更干净的选择。IE。按照应有的方式配置 PHP。
- 编辑你的
php.ini
并调整值date.timezone = America/New_York
或者
- 用一个
php_value
您的网络服务器配置中的指令将其设置在您的 虚拟主机配置 或者.htaccess
:php_value date.timezone America/New_York
其他提示
运算的评论意见,以他自己的问题上意味着默认时区不能设置在php.ini,这是不真实—事实上,在许多情况下设置在那里 优选的.而且,由于这所以答案是第一个在谷歌"php默认时区差错",我将保存其他一些丧失理智。
一个很常见的导致这一错误是不是要拼错了该区域城市或国家(例如"纽约","洛杉矶")在php.ini文件被使用,但取而代之的是,包括嵌入空间,而不是强调在标识符,并因此"拼错"的完整定。
这也会做你想要什么,而不必将它设置在每一页上在运行(在PHP5.4和5.3,在Windows、Linux和OS x):
在 php.ini:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
; ^^^^^^^^^^^^^^^^ * Must_Use_Underscores *
此外,如果你已经检查并重新检查拼写和们 某些 这是正确的,确保你的编辑 实际 php.ini文件,该文件被用于:
网上下文(创建一个测试文件 test.php, ,然后确认 date.timezone
有):
<?php phpinfo(); ?>
命令行Linux/OS x:
$ php -i | grep "timezone"
命令行窗口:
C:\> php -i | find "timezone"
优先顺序,用于检索的默认日期时区配置阐明的细节 在这里,.
如果你没有改变php.ini
的能力,它添加到您的_ss_environment.php
或mysite/_config.php
文件:
date_default_timezone_set('...');
其中...
是有效的PHP的时区之一。