0

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

num_rows() 抛出以下错误

遇到 PHP 错误

严重性:警告

消息:Home::index() [home.index]:依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们为 'IST/5.0/no DST' 选择了 'Asia/Calcutta'

文件名:控制器/home.php

行号:18

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

然后我更新了代码如下

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

当我重新加载页面时

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

可能是什么问题呢?

有没有可能隐藏这个特定的错误?

与服务器端设置有什么关系吗?

4

1 回答 1

0

问题不在于时区。

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

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

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

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

Codeigniter 显示空白页而不是错误消息

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

于 2012-11-27T10:44:15.477 回答