将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');
最佳答案
没有引号。 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),而“有”版本将是文字文本
E_ALL
。
关于php - 正确使用ini_set()的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8202596/