【发布时间】:2013-10-01 21:06:33
【问题描述】:
我有两台相同的 Debian Squeeze 服务器,运行 php 5.3.3-7+squeeze17,一台运行 1.7.x,另一台运行 2.1.4。
在1.7安装时,当我调用一个调用未定义模型方法的控制器方法时,页面输出:
Fatal error: Call to undefined method Example_Model::get_series_and_products() in /opt/git/online_live/application/controllers/members.php on line 2549
但是,在 2.1.4 上根本没有输出。 echo 语句在未定义函数输出文本之前插入,但之后的语句没有。
两个站点的 VirtualHost 配置中的 php error_reporting 设置为 -1,这似乎覆盖了 config.php 定义的开发环境设置,将 error_reporting 设置为 E_ALL。
这是我用于输出的一些额外代码:
echo ini_get('error_reporting');
echo '<br>';
echo phpversion();
两者输出相同:
-1
5.3.3-7+squeeze17
因此,似乎没有其他任何事情胜过我的 error_reporting。
在 2.1.4 的 application/config/config.php 中(没有显示错误):
$config['log_threshold'] = 4; // All Messages
在 1.7 中(显示错误的地方):
$config['log_threshold'] = 0;
但我认为该设置是针对 CI 保留的文件系统日志而不是内联错误。
phpInfo() 在两台主机上反映相同的 error_log 值:
error_log: no value no value
error_reporting: -1 22527
什么可能导致差异?
【问题讨论】:
-
两种 CI 设置的日志级别是多少? (application/config/config.php for 2.1.X) 当您比较
phpinfo()时,您是否看到相同的错误记录?最后很难说,因为我们没有太多信息可以继续。 -
我认为如果 ini_get('error_reporting') 报告 -1,那么 config.php 中的内容无关紧要,但我仍然在上面添加了 log_threshold 参数。是你说的参数吗?两者的 phpInfo() 产生相同的值: error_append_string:无值 error_log:无值 error_prepend_string:无值 error_reporting:-1
标签: php codeigniter codeigniter-2 error-reporting