在服务器上,我安装了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/ber林‘,而不是ROOT/cakephp/cake/libs/cache.php,第570行
另外,我还收到了更多的错误:
通知:尝试获取第248行/htdocs/cakephp/cake/libs/cache/file.php中的非对象属性致命错误:在/htdocs/cakephp/cake/libs/cache/file.php中的非对象上调用成员函数cd()第248行
php.ini中的时区定义为欧洲/伦敦
我总是收到这个错误,不管我是否定义了date_default_timezone_set('UTC')
,或者欧洲/伦敦,或者其他什么……
真的很令人沮丧......请帮帮我。
更新:我的php安装有问题...如果我运行
<?php echo date('Y'); ?>
..。它会给我一个空白屏幕。没有结果..。
是不是有什么问题?
发布于 2010-07-31 00:52:31
要处理第一个警告,您需要取消注释/app/config/core.php中的date_default_timezone_set('UTC');
行。您可以按照Leo的建议将UTC
替换为您的时区。
发布于 2010-10-22 18:02:30
正如Leo所说,是PHP5.3的一个问题。最好的解决方案是修改web服务器的php.ini并设置
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Rome"
或者,如果您不能修改web服务器php.ini,可以将此选项添加到站点上的根.htaccess文件中:
php_flag date.timezone = "Europe/Rome"
发布于 2010-10-01 12:54:26
我也遇到了同样的问题,谷歌把我带到了这个帖子。
我通过将行date_default_timezone_set("America/Anchorage");
添加到蛋糕基本目录/libs/cache.php的顶部修复了这个问题
您可能想用您的时区替换美国/安克雷奇。
https://stackoverflow.com/questions/3370403
复制相似问题