w3schools try handling exceptions example error custom catch all php error-handling

handling - try catch php mysql



Deshabilitar estándares estrictos en PHP 5.4 (5)

Actualmente estoy ejecutando un sitio en php 5.4, antes de esto estaba ejecutando mi sitio en 5.3.8. Desafortunadamente, php 5.4 combina E_ALL y E_STRICT , lo que significa que mi configuración anterior para error_reporting no funciona ahora. Mi valor anterior era E_ALL & ~E_NOTICE & ~E_STRICT ¿Debo simplemente habilitar los valores uno a la vez?

Tengo demasiados errores y los archivos contienen demasiado código para corregir.


.htaccess php_value solo funciona si usa PHP Server API como módulo del servidor web Apache. Use la sintaxis IfModule:

# PHP 5, Apache 1 and 2. <IfModule mod_php5.c> php_value error_reporting 30711 </IfModule>

Si usa PHP Server API CGI / FastCGI use

ini_set(''error_reporting'', 30711);

o

error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);

en su código PHP, o archivos de configuración PHP .user.ini | modificación php.ini:

error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE

en su host virtual, nivel de servidor.


Cabezas, es posible que deba reiniciar LAMP, Apache o lo que sea que esté utilizando para que esto surta efecto. Nos sacudimos el cerebro durante un tiempo en este caso, parecía no tener ningún efecto hasta que se reiniciaran los servicios, presumiblemente porque el sitio web estaba en caché.


Como los comentaristas han declarado que la mejor opción es corregir los errores, pero con tiempo o conocimiento limitados, eso no siempre es posible. En tu cambio de php.ini

error_reporting = E_ALL

a

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

Si no tiene acceso a php.ini, puede poner esto en su archivo .htaccess:

php_value error_reporting 30711

Este es el valor E_ALL (32767) y la eliminación de los valores E_STRICT (2048) y E_NOTICE (8).

Si no tiene acceso al archivo .htaccess o no está habilitado, probablemente deba colocarlo en la parte superior de la sección PHP de cualquier script que se cargue desde una llamada del navegador:

error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);

Uno de ellos debería ayudarlo a usar el software. Sin embargo, los avisos y las cosas estrictas son indicadores de problemas o problemas potenciales y es posible que descubra que parte del código no funciona correctamente en PHP 5.4.

Espero que esto ayude.


Me funcionó, cuando establecí error_reporting en dos lugares al mismo tiempo

en algún lugar del código PHP

ini_set(''error_reporting'', 30711);


y en el archivo .htaccess

php_value error_reporting 30711


Si necesita inhabilitar E_DEPRACATED también, use:

php_value error_reporting 22527

En mi caso, CMS Made Simple se quejaba de que "E_STRICT está habilitado en el error_reporting" y "E_DEPRECATED está habilitado". Agregar esa línea a .htaccess resolvió ambas configuraciones incorrectas.