PHP 中的通知。怎么不给他们看?

Notices in PHP. How to did not show them?

提问人:Nikoole 提问时间:7/8/2013 最后编辑:Thirumalai muruganNikoole 更新时间:7/8/2013 访问量:70

问:

我有删除文件的功能。这是我的代码:

echo error_reporting();     // got 32767 = E_ALL, yes?
ini_set('display_errors',0);
if(unlink($file) == false){
    echo "Error";
}

我收到以下错误:

string(274) “PROBLEM unlink(/path/to/file.mp4): 权限被拒绝 /path/to/script.php 在第 1226 行

如何在日志文件上记录错误,而不是在屏幕上记录错误?

PHP 异常 处理 通知 错误报告

评论

1赞 Anigel 7/8/2013
将php_ini更改为 log_errors=on display_errors=off log_file=/some/file/somewhere
0赞 Nikoole 7/8/2013
Anigel,我可以在运行时设置log_errors吗?我在第一行尝试了我的代码:ini_set('log_errors',1);- 我仍然看到通知...

答:

0赞 Rohit Choudhary 7/8/2013 #1

您可以使用 和 for 抑制前端的错误error_log()error_reporting(0)

0赞 ranieuwe 7/8/2013 #2

它不起作用的原因是,在 PHP 5.2.4 及更高版本中,变量已从布尔值更改为字符串。改为将 display_errors 设置为“stderr”。

0赞 BIT CHEETAH 7/8/2013 #3

→ 试试这个:

这将在运行时起作用:

     ini_set( 'display_errors', '0' );

这将阻止显示错误,但仍会记录错误。这将同时阻止:

     error_reporting(0); // Will stop both error displaying and reporting to screen
1赞 Robert 7/8/2013 #4

您可以将自己的错误处理程序与函数 set_error_handler() 一起使用

您可以在传递给 set_error_handler() 的函数中写入日志记录

此函数还具有称为 error_types 的参数,您可以在其中提供要处理的错误类型。是否显示它们取决于您。

我不会写其他选项,因为其他人已经提到了它们。

0赞 Nikoole 7/8/2013 #5

它是在其他脚本上var_dump()捕获错误并将其显示在屏幕上。