not - phpinfo xampp
¿Qué es 22527 en error_reporting 22527 de phpinfo (3)
Este valor es en realidad máscara de mapa de bits , una suma de constantes.
Entonces, 22527 es
16384 E_USER_DEPRECATED
+
4096 E_RECOVERABLE_ERROR
+
etc...
En su caso, es E_ALL & ~E_DEPRECATED
, mostrará todos los errores, excepto E_DEPRECATED
y E_STRICT
(ya que E_STRICT
no está incluido en E_ALL
)
En mi entorno de desarrollo local, uso PHP Version 5.3.3-1ubuntu9.2.
Ahora cuando veo error_reporting, el valor es 22527.
¿Que es 22527?
Comprobé http://www.php.net/manual/en/errorfunc.constants.php , pero no pude encontrar el número.
¿Alguien podría decirme qué es?
¿Debo cambiarlo a E_ALL | E_STRICT?
Gracias por adelantado.
Este valor es una o más de http://www.php.net/manual/en/errorfunc.constants.php enlazadas por bit.
phpinfo()
generalmente muestra el valor numérico en lugar de las constantes o abreviaturas utilizadas dentro de los archivos INI. Aquí hay un ejemplo para asignar el valor a las constantes:
<?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;
Salida:
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
NUNCA use el valor numérico para establecer su informe de errores, ya que el significado de ese valor puede cambiar, pero el significado de las constantes (como E_ALL, E_STRICT, etc.) probablemente no:
El nuevo nivel de error_reporting. Toma una máscara de bits o constantes con nombre. Se recomienda encarecidamente usar constantes con nombre para garantizar la compatibilidad para versiones futuras. A medida que se agregan los niveles de error, el rango de los enteros aumenta, por lo que los niveles de error basados en el número entero anterior no siempre se comportarán como se espera .
(y tenga en cuenta que a partir de PHP 5.4, E_ALL ahora incluye E_STRICT)
SI desea el informe más estricto para siempre, puede establecer error_reporting en un número muy grande para garantizar (?) Que informará todos los errores para siempre :
Usar constantes de PHP fuera de PHP, como en httpd.conf, no tendrá ningún significado útil, por lo que en esos casos se requieren los valores enteros. Y dado que los niveles de error se agregarán con el tiempo, es probable que el valor máximo (para E_ALL) cambie. Por lo tanto, en lugar de E_ALL considere usar un valor mayor para cubrir todos los campos de bits a partir de ahora y en el futuro, un valor numérico como 2147483647 (incluye todos los errores, no solo E_ALL).
Compruebe su php.ini para el valor de error_reporting en formato de constantes de PHP legibles por humanos. La función phpinfo () parece mostrar siempre el valor numérico en lugar de mostrar las constantes.
Pero, personalmente, dejo php.ini con los valores predeterminados para el informe de errores. En su lugar, puse la función de informe de errores en la parte superior de cualquier script php en el que estoy trabajando para anular los valores predeterminados. p.ej:
error_reporting(E_ALL | E_STRICT);