tutorial sirve que programacion para lenguaje descargar caracteristicas php

sirve - php tutorial



Desactivar el error de pantalla PHP.ini (10)

¡Debería considerar no mostrar sus mensajes de error en su lugar!

Establezca ini_set(''display_errors'', ''Off''); en su código php (o directamente en su ini si es posible), y deje error_reporting en E_ALL o cualquier tipo de mensaje que le gustaría encontrar en sus registros.

De esta forma, puede manejar los errores más adelante, mientras que los usuarios aún no los ven.

Ejemplo completo:

define(''DEBUG'', true); error_reporting(E_ALL); if (DEBUG) { ini_set(''display_errors'', ''On''); } else { ini_set(''display_errors'', ''Off''); }

O simplemente (mismo efecto):

define(''DEBUG'', true); error_reporting(E_ALL); ini_set(''display_errors'', DEBUG ? ''On'' : ''Off'');

Estoy tratando de desactivar todos los errores en mi sitio web. He seguido diferentes tutoriales sobre cómo hacer esto, pero sigo recibiendo mensajes de error de lectura y apertura. ¿Hay algo que este olvidando? He intentado lo siguiente en mi archivo php.ini:

;Error display display_startup_errors = Off display_errors = Off html_errors = Off docref_root = 0 docref_ext = 0

Por alguna razón, cuando hago una llamada fileopen () para un archivo que no existe, sigo recibiendo el error. Esto no es seguro para un sitio web en vivo, por razones obvias.

Gracias



Abra su archivo php.ini (si está usando Linux - sudo vim /etc/php5/apache2/php.ini)

Agrega estas líneas en ese archivo

error_reporting = E_ALL & ~E_WARNING

(Si necesita desactivar cualquier otro error -> error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT & ~ E_NOTICE & ~ E_WARNING )

display_errors = On

Y finalmente necesita reiniciar su servidor APACHE.


En php.ini Comentarios,

error_reporting = E_ALL & ~E_NOTICE error_reporting = E_ALL & ~E_NOTICE | E_STRICT error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ER… _ERROR error_reporting = E_ALL & ~E_NOTICE

Al colocar un ; delante de él (es decir, como ;error_reporting = E_ALL & ~E_NOTICE )

Para deshabilitar en un solo archivo , coloque error_reporting(0); después de abrir una etiqueta php .


Permítanme resumir esto rápidamente para referencia:

  • error_reporting() adapta la configuración actualmente activa para el controlador de error predeterminado.

  • La edición de las opciones ini de informe de errores también cambia los valores predeterminados.

    • Aquí es imperativo editar la versión php.ini correcta - normalmente es /etc/php5/fpm/php.ini en servidores modernos, /etc/php5/mod_php/php.ini alternativamente; mientras que la versión CLI tiene una distinta.

    • Alternativamente puede usar dependiendo de SAPI:

      • mod_php: .htaccess con opciones de php_flag
      • FastCGI: comúnmente un php.ini local
      • Y con PHP por encima de 5.3 también un .user.ini

    • Reiniciar el servidor web como de costumbre.

Si su código es poco manejable y de alguna manera restablece estas opciones en otro lugar durante el tiempo de ejecución, entonces una manera alternativa y rápida es definir un manejador de error personalizado que solo absorba todos los avisos / advertencias / errores:

set_error_handler(function(){});

Nuevamente, esto no es aconsejable, solo una alternativa.


Siempre uso algo como esto en un archivo de configuración:

// toggle this to change the setting define(''DEBUG'', true); // you want all errors to be triggered error_reporting(E_ALL); if(DEBUG == true) { // you''re developing, so you want all errors to be shown display_errors(true); // logging is usually overkill during dev log_errors(false); } else { // you don''t want to display errors on a prod environment display_errors(false); // you definitely wanna log any occurring log_errors(true); }

Esto permite alternar fácilmente entre las configuraciones de depuración. Puede mejorar aún más comprobando en qué servidor se está ejecutando el código (desarrollo, prueba, aceptación, prod) y modificar su configuración en consecuencia.

Tenga en cuenta que no se registrarán errores si error_reporting se establece en 0, como ha señalado sabiamente Korri.


También puede usar el error_reporting(); PHP error_reporting();

// disable it all for current call error_reporting(0);

Si desea ignorar los errores de una función solamente, puede anteponer un símbolo @ .

@any_function(); // errors are ignored


Usualmente utilizo los controladores de errores integrados de php que pueden manejar todos los errores posibles fuera de la sintaxis y aún así mostrar una buena página ''Abajo para el mantenimiento'' en caso contrario:

Formatear el error de PHP en el servidor de producción


en php.ini debes probar esto para todos los errores

display_errors = On


en php.ini debes probar esto para todos los errores

error_Reporting = off