在我的本地开发环境中,我使用PHP版本5.3.3-1ubuntu9.2.
现在,当我看到error_reporting时,值为22527.
什么是22527?
我检查了http://www.php.net/manual/en/errorfunc.constants.php,但我找不到这个号码.
谁能告诉我它是什么?
我需要将其更改为E_ALL | E_STRICT?
提前致谢.
Ger*_*umm 65
该值实际上是位图掩码,常量之和.
所以,22527是
16384 E_USER_DEPRECATED
+
4096 E_RECOVERABLE_ERROR
+
etc...
Run Code Online (Sandbox Code Playgroud)
在你的情况下E_ALL & ~E_DEPRECATED
,它会显示每个错误,除了E_DEPRECATED
.
低于5.4的PHP版本也将排除E_STRICT
错误(因为在该版本之前E_STRICT
未包含E_ALL
)
Sal*_*n A 40
该值是按位计算的这些常量中的一个或多个.
phpinfo()
通常显示数值而不是INI文件中使用的常量或缩写.下面是将值映射回常量的示例:
<?php
$error_reporting_value = 22527;
$constants = array(
"E_ERROR",
"E_WARNING",
"E_PARSE",
"E_NOTICE",
"E_CORE_ERROR",
"E_CORE_WARNING",
"E_COMPILE_ERROR",
"E_COMPILE_WARNING",
"E_USER_ERROR",
"E_USER_WARNING",
"E_USER_NOTICE",
"E_STRICT",
"E_RECOVERABLE_ERROR",
"E_DEPRECATED",
"E_USER_DEPRECATED",
"E_ALL"
);
$included = array();
$excluded = array();
foreach ($constants as $constant) {
$value = constant($constant);
if (($error_reporting_value & $value) === $value) {
$included[] = $constant;
} else {
$excluded[] = $constant;
}
}
echo "error reporting " . $error_reporting_value . PHP_EOL;
echo "includes " . implode(", ", $included) . PHP_EOL;
echo "excludes " . implode(", ", $excluded) . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
输出:
error reporting 22527
includes E_ERROR, E_WARNING, E_PARSE, E_NOTICE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, E_RECOVERABLE_ERROR, E_USER_DEPRECATED
excludes E_STRICT, E_DEPRECATED, E_ALL
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
49690 次 |
最近记录: |