我正在开发一个JSON集成的Web应用程序,当我在(通过ajax)页面请求的服务器端获得一些(某些预期的)PHP错误时,这对客户端的调试非常恼火。出于调试目的,我想仅针对此特定页面/视图/控制器禁用我对PHP和DB相关错误的所有调试。
我已经尝试将以下内容放在我的控制器顶部,这应该根据我在互联网上找到的一些文章进行操作:
function index() {
ini_set('display_errors', 0);
$this->config->set_item('log_threshold', 0);
尽管如此,这仍然给我带来了错误。
我知道我要求禁用错误听起来很愚蠢但是......只要相信我这个错误。
答案 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);