我有一个关于error_reporting函数的奇怪的问题。
我想保存当前的error_reporting级别,禁用一些行的错误报告,然后恢复它。所以我有以下代码:
$oldErrorReporting = error_reporting();
error_reporting(0);
//Some code, that will generate warning, or error, that I don't want to show
error_reporting(oldErrorReporting);
因此,如果我删除最后一行,就不会出现错误,一切都会正常工作。但是如果我添加最后一
我遇到过PHP错误泛滥日志文件和Drupal状态页,如下所示:
: Function ereg() is deprecated in mysite/includes/file.inc on line 893.
我应该能够在我的php.ini中关闭E_DEPRECATED错误,但它没有任何效果,尽管设置为:
error_reporting = E_ALL & ~E_DEPRECATED
phpInfo()报告error_reporting主值和本地值均为22527。
我做了一个
grep -R error_reporting
在我的文档中,我希望找到任何硬编码的错误级别,但没有运气:
根据我所读到的,这个指令指定将向脚本输出报告哪种类型的错误(如果显示错误是打开的),或者如果error_logs是ON的话,将报告给log_errors。
为什么在下面的脚本中,我将error_reporting设置为0(关闭error_reporting ),但仍然得到了描述致命错误的消息?
<?php
error_reporting(0) ;
function a(&$name)
{
}
a("gg") ; // cause a fatal error, and display the message
echo "gg" ;
?&
我查过php.ini和
log_errors = On
error_log = "c:/wamp/logs/php_error.log" `
(目录包含access.log、apache_error.log、log.dir、mysql.log)
没有"error_reporting“的条目,但有一个注释(我不太理解)
; Eval the expression with current error_reporting(). Set to true if you want
; error_reporting(0) around the eval().
; http://
我的PHP error_reporting有一个问题。我已经在php.ini中设置了error_reporting和display_errors的所有值,但我的代码仍然是空白页,直到我在php代码中添加一行:
error_reporting(E_ALL);
只有在我的代码中添加了这一行之后,我才能看到错误,比如
Notice: Undefined index: id in C:\...\index.php on line 4
如何更改php.ini (或者其他内容?)在不添加此行的情况下获取错误?