使用PHP ini_set()
进行 error_reporting 的正确方法是什么?是使用引号:
ini_set('error_reporting', 'E_ALL');
或没有引号:
ini_set('error_reporting', E_ALL);
当我使用带引号的那个时,我的site_errors.log文件不会被填充。但是当我使用一个而没有引号时,我的site_errors.log文件会更新得很好。这是我的php文件的样子:
// my php file
ini_set('display_errors', 'Off');
ini_set('error_reporting', E_ALL);
ini_set('log_errors', 'On');
ini_set('error_log', 'site_errors.log');
答案 0 :(得分:4)
没有引号。 E_ALL
是预定义的PHP常量,基本上是
define('E_ALL', some_value_here);
一旦你在它周围加上引号,它就不再是一个常量,PHP将它视为一个普通的字符串。
试试这个:
$x = E_ALL; // no quotes
$y = 'E_ALL'; // with quotes
echo "without: $x with: $y";
“没有”版本将是一个数字(2 ^ 31-1),而“with”版本将是文字文本E_ALL
。
答案 1 :(得分:0)
没有引号,因为E_ALL
是predefined constant。