codeigniter num_rows在更正时抛出时区错误,然后页面显示500内部服务器错误

时间:2012-11-27 06:35:32

标签: php date codeigniter-2

我在我的网站中使用codeigniter 2作为模块。这是第一次生产。

num_rows()抛出以下错误

  

遇到PHP错误

     

严重性:警告

     

消息:Home :: index()[home.index]:依赖它是不安全的   系统的时区设置。您必需才能使用   date.timezone设置或date_default_timezone_set()函数。在   如果你使用了这些方法中的任何一种,你仍然会得到这个   警告,你很可能拼写错误的时区标识符。我们   选择“亚洲/加尔各答”代替'IST / 5.0 /无DST'

     

文件名:controllers / home.php

     

行号:18

在第18行,我有echo $ catgory-> num_rows();

然后我更新了代码如下

function __construct()
{
    date_default_timezone_set('UTC');
    parent::__construct();
}

当我重新加载页面时

  

HTTP错误500(内部服务器错误):出现意外情况   在服务器尝试完成请求时遇到。

可能是什么问题?

是否有可能隐藏此特定错误?

是否与服务器端设置有关?

1 个答案:

答案 0 :(得分:0)

问题不在于时区。

我检查了日志,发现发生了致命错误,并且codeigniter向浏览器发送了500状态。

我做了ini_set('display_errors',1),CI显示实际错误,而不是向客户端发送500状态。

所以此时要么关闭生产中的所有错误,要么让它看到所有初始冲突(错误)(因为在某些情况下开发会在生产中有所不同)然后在测试驱动之后再次隐藏所有错误。

我在stackoverflow中阅读这篇文章时得到了这些信息

Codeigniter displays a blank page instead of error messages

此外,我不是在每个控制器中设置时区,而是在index.php中设置它。