首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cakephp 1.3和PHP 5.3.2的时区和更多问题

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

Stack Overflow用户
提问于 2010-07-30 17:57:54
回答 5查看 23.1K关注 0票数 16

在服务器上,我安装了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安装有问题...如果我运行

代码语言:javascript
运行
复制
<?php echo date('Y'); ?>

..。它会给我一个空白屏幕。没有结果..。

是不是有什么问题?

EN

回答 5

Stack Overflow用户

发布于 2010-07-31 00:52:31

要处理第一个警告,您需要取消注释/app/config/core.php中的date_default_timezone_set('UTC');行。您可以按照Leo的建议将UTC替换为您的时区。

票数 26
EN

Stack Overflow用户

发布于 2010-10-22 18:02:30

正如Leo所说,是PHP5.3的一个问题。最好的解决方案是修改web服务器的php.ini并设置

代码语言:javascript
运行
复制
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Rome"

或者,如果您不能修改web服务器php.ini,可以将此选项添加到站点上的根.htaccess文件中:

代码语言:javascript
运行
复制
php_flag date.timezone = "Europe/Rome"
票数 7
EN

Stack Overflow用户

发布于 2010-10-01 12:54:26

我也遇到了同样的问题,谷歌把我带到了这个帖子。

我通过将行date_default_timezone_set("America/Anchorage");添加到蛋糕基本目录/libs/cache.php的顶部修复了这个问题

您可能想用您的时区替换美国/安克雷奇。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3370403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档