use*_*003 16 php timezone datetime cakephp
在服务器上我有php 5.3.2和cakephp 1.3.
当我运行cakephp应用程序时,它会给我以下错误:
警告(2):strtotime()[ http://php.net/function.strtotime]:依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们为'CEST/2.0/DST'选择'Europe/Berlin'而不是[ROOT/cakephp/cake/libs/cache.php,第570行]
另外,我还有一些错误:
注意:尝试在第248行的/htdocs/cakephp/cake/libs/cache/file.php中获取非对象的属性致命错误:在/ htdocs/cakephp /中的非对象上调用成员函数cd()第248行上的cake/libs/cache/file.php
php.ini中的时区定义为Europe/London
我总是得到那个错误,尽管我定义与否date_default_timezone_set('UTC'),或欧洲/伦敦,或其他......
真的很沮丧.........请帮忙......
更新:我的php安装有问题...如果我运行
<?php echo date('Y'); ?>
Run Code Online (Sandbox Code Playgroud)
...它给我空白屏幕.没有结果...
可能有问题吗?
ban*_*cer 26
要处理第一个警告,您需要取消注释date_default_timezone_set('UTC');/app/config/core.php中的行.您可以UTC像Leo建议的那样替换您的时区.
正如Leo Said所说,PHP 5.3存在问题.最好的解决方案是修改您的Web服务器php.ini并设置
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Rome"
Run Code Online (Sandbox Code Playgroud)
或者,如果您无法修改web服务器php.ini,则可以将此选项添加到您网站上的root .htaccess文件中:
php_flag date.timezone = "Europe/Rome"
Run Code Online (Sandbox Code Playgroud)