如果您有共享主机,是否可以在ini文件中关闭display_errors?

时间:2013-01-08 21:04:59

标签: php security

(为什么我得到一个警告,我的问题是主观的?)我试图在调试时保持PHP错误消息不被显示到浏览器。我发现这两种方法是 1)

ini_set("display_errors", 0) 

和2)添加

php_flag display_errors Off

在我的文档根目录中的.htaccess文件中。 ini_set命令返回null,上传后.htaccess设置没有任何效果。我可以将错误指向自定义错误处理函数,但我无法阻止它显示在屏幕上。

托管我网站的ISP无法帮助我。我想我可能不得不忍受在调试时显示的错误,但我希望有人可能有另一种方法来抑制显示。

2 个答案:

答案 0 :(得分:0)

可能不是你想要的长期,但可能是一个临时解决方案。如果使用@为PHP函数调用加前缀,则它们不会输出警告。

示例:

<?php
explode(":", $undefinedVariable); // will warn about undefined variable
@explode(":", $undefinedVariable); // will be silent

// It works also for array access etc.:
$foo = array('bar' => 5);
echo 10 * $foo['baz']; // warns
echo 10 * @$foo['baz']; // silent
?>

答案 1 :(得分:0)

尝试使用下面的PHP代码关闭错误报告。

error_reporting(0);

至于安静地记录错误,请尝试这样做。

ini_set('log_errors', E_ERROR | E_WARNING | E_PARSE); // you can change error types here.
ini_set('error_log', 'DIRECTORY OF ERROR LOG'); // change as required