使用ini_set()的正确方法

时间:2011-11-20 15:37:00

标签: php error-handling

使用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');

2 个答案:

答案 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_ALLpredefined constant