在Codeigniter中抑制特定请求的所有错误

时间:2012-07-12 21:04:44

标签: php debugging codeigniter

我正在开发一个JSON集成的Web应用程序,当我在(通过ajax)页面请求的服务器端获得一些(某些预期的)PHP错误时,这对客户端的调试非常恼火。出于调试目的,我想仅针对此特定页面/视图/控制器禁用我对PHP和DB相关错误的所有调试。

我已经尝试将以下内容放在我的控制器顶部,这应该根据我在互联网上找到的一些文章进行操作:

function index() {
    ini_set('display_errors', 0);
    $this->config->set_item('log_threshold', 0);

尽管如此,这仍然给我带来了错误。

我知道我要求禁用错误听起来很愚蠢但是......只要相信我这个错误。

1 个答案:

答案 0 :(得分:3)

您是否已将index.php中的环境常量更改为“生产”? 它将关闭所有错误

  

在生产环境中,通常需要禁用PHP   通过将内部error_reporting标志设置为a来报告错误   值为0.这将禁止将本机PHP错误呈现为   输出,可能包含敏感信息。

     

将index.php中CodeIgniter的ENVIRONMENT常量设置为值   '生产'将关闭这些错误。在开发模式中,它是   建议使用'development'值。更多信息   关于区分环境可以在上找到   处理环境页面。

如果没有帮助 - 尝试更新CodeIgniter。

顺便说一下,这个

$this->config->set_item('log_threshold', 0);

只是文件记录。

如果您只需要在一个页面上关闭,请尝试使用

ini_set('display_errors', 'Off');
error_reporting(0);
define('MP_DB_DEBUG', false);