Php 如何配置Codeigniter以报告所有错误?

Php 如何配置Codeigniter以报告所有错误?,php,codeigniter,php-5.3,Php,Codeigniter,Php 5.3,我有一行-$autoload['libraries']=array('database'),在CI的autoload.php中。因为这个,我得到了一张空白页。当我删除“数据库”选项时,我开始获取输出 现在我的问题不是如何配置数据库,而是如何配置CI以表达其想法。当“数据库”被启用时,我得到的只是一个完全空白的页面。php日志中没有错误,Apache日志中没有错误,CI日志中没有错误。在PHP中,我设置了E_ALL。在我的CI配置中,我已将log\u阈值设置为4,即应记录所有消息。我还需要做什么?

我有一行-
$autoload['libraries']=array('database'),在CI的
autoload.php
中。因为这个,我得到了一张空白页。当我删除
“数据库”
选项时,我开始获取输出


现在我的问题不是如何配置数据库,而是如何配置CI以表达其想法。当
“数据库”
被启用时,我得到的只是一个完全空白的页面。php日志中没有错误,Apache日志中没有错误,CI日志中没有错误。在PHP中,我设置了
E_ALL
。在我的CI配置中,我已将
log\u阈值设置为
4
,即应记录所有消息。我还需要做什么?

这取决于您的CI版本。对于<2.x,编辑顶级index.php并调整错误报告函数以使用E_ALL“

对于>=2.x,编辑顶级index.php并确保环境设置为:

define('ENVIRONMENT', 'development');

它将错误报告设置为E_ALL。

在webroot中创建一个包含以下内容的.htaccess文件

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value error_reporting -1
php_value log_errors_max_len 0
希望这样可以启用您的日志。

请确保在生产服务器上将值设置为off并报告为0:)

我不确定真正的原因是什么,但我安装了一个带有剩余PHP.ini文件的PHP。后来,我用自己的PHP安装了完整的WAMP堆栈。当我从以前的安装中删除剩余的PHP.ini文件时,它开始正常工作d、 新安装中的PHP二进制文件似乎使用了完全不同的目录中的剩余PHP.ini;可能是因为该目录位于环境路径中。

以下环境设置将迫使PHP在出现错误时显示错误:

  • 应用环境 定义(“环境”、“发展”); /*
  • 错误报告

    if(已定义(“环境”)) { 交换机(环境) { “发展”案例: //报告所有错误 错误报告(E_全部)

    }


您能给出CI程序内部的
phpinfo()
输出吗?
触发错误('test',E\u USER\u NOTICE)的原因是什么
give you?@Lars你能告诉我你想要的phpinfo的确切部分吗,因为它输出了一个很长的列表,我认为不能发布在这里。顺便说一句,
tigger\u错误的输出是
遇到了一个PHP错误,严重性:用户通知,消息:test,文件名:controllers/welcome.PHP,行号:22
。这是一个ca我在浏览器窗口中启动。在CI日志中,它也被记录为
错误-2011-09-10 13:49:21-->严重性:用户注意-->测试C:\....\lib\codeigniter\application\aceinvite\controllers\welcome.php 22
。我只是想确保错误设置正确(触发器错误证明了这一点)。自动加载程序可能不会抛出任何错误消息或异常。您仍然可以幸运地定义自己的错误处理程序,但我想这不会有帮助。也许其他人有主意(除了调试autoload.php)-祝你好运!:)这对我有帮助,试试看:我找到了这个解决方案:它对我有效。我正在使用>=2.x版本和
define('ENVIRONMENT','development'));
已经在index.php的顶部定义。接受你的答案,因为你的答案简短明了,即使我的问题与此无关。你的答案是90%的人会寻找的。对于仍然面临问题的人,他们可能会想看看我的答案。我很高兴在Codeignitor中它对我有用,它对我有用吗所有PHP框架,或者是否存在任何限制,使其适用于所有PHP框架?
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value error_reporting -1
php_value log_errors_max_len 0
        // Display errors in output
        ini_set('display_errors', 1);
        break;

    case 'testing':
    case 'production':
        // Report all errors except E_NOTICE
        // This is the default value set in php.ini
        error_reporting(E_ALL ^ E_NOTICE);

        // Don't display errors (they can still be logged)
        ini_set('display_errors', 0);
    break;

    default:
        exit('The application environment is not set correctly.');
}