时区和Cakephp 1.3和PHP 5.3.2的更多问题

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建议的那样替换您的时区.


Val*_*ica 7

正如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)