Fork me on GitHub

Miquel Camps Orteza

Soy programador web. Estoy especializado en desarrollo web (php, js). Estoy aprendiendo a desarrollar apps para iphone/ipad.
Organizo betabeers en Madrid.
Sobre mí     Metas     Hacks     Contactar     LinkedIn     Twitter    
Inicio

php, mostrar errores E_NOTICE

Seguramente la configuración del fichero php.ini de tu servidor oculte los errores E_NOTICE

Según la web de php.net…

En PHP 4 y PHP 5, el valor predeterminado es E_ALL & ~E_NOTICE. Este valor no muestra errores de nivel E_NOTICE.

Al habilitar E_NOTICE durante el desarrollo de software tiene algunos beneficios. Para propósitos de depuración: los mensajes NOTICE le advertirán sobre posibles fallos en su código.

¿Que son los errores E_NOTICE?

Avisos detectados en tiempo de ejecución al utilizar una variable no inicializada

Incorrecto:

  1. define(TXT_LANG,’Idioma’);
  2. $_GET[url]

Los casos anteriores aunque funcionen, producen un error E_NOTICE, ya que php interpreta TXT_LANG y url como constantes no definidas

Correcto:

  1. define(‘TXT_LANG’,'Idioma’);
  2. $_GET['url']

¿Como mostrar los E_NOTICE?

Para mostrar todos los errores, puedes hacerlo de 2 maneras:

  1. si tienes permisos para editar el fichero php.ini, abrelo, busca error_reporting y asignarle E_ALL, quedando asi:
    error_reporting = E_ALL
  2. si tu servidor no te permite editar el php.ini, puedes introducir al principio del código y después de <?php:
    error_reporting(E_ALL);

Post dedicado a:

Eduard Llach

julio 30, 2007
Sigueme en twitter Suscribete por RSS Suscribete por email
Temas relacionados
Deja un comentario







Comentarios
  1. gafeman

    util:
    ini_set(‘display_errors’,'On’);


  2. p1r4t0s

    muy útil ^^


  3. Anónimo

    ini_set(‘display_errors’,true);


  4. Charly

    Para estar más seguro:

    // REPORTAR ERRORES PHP
    error_reporting(E_ALL);
    ini_set(‘display_errors’, 1);

    PD: Así me funciona en un servidor que no reporta errores!