Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Debug PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Debug PHP

Consideraciones

Escribir código es sólo una parte de la programación, y quizá no la más importante. Por otra está el diseño del algoritmo y las tareas de debug que verifiquen el correcto funcionamiento del programa en todos los casos.

En esta parte se centrará este manual. Al margen quedan los errores generados por PHP. Un parse error, un warning o un error fatal tienen en la mayoría de los casos una resolución inmediata: Una comilla mal puesta, una llave sin cerrar...

Para asegurarnos de que éste es nuestro caso, y antes de comenzar a debugear, no debe haber ningún error de PHP (parse errors, warnings o fatal errors...(los notices los dejo a gusto del consumidor)).

Para ello comprobad en vuestro php.ini o haciendo un <?php phpinfo(); ?> :

  • que la directiva display_errors se encuentra a On
  • que error_reporting se encuentra como mínimo a E_ALL & ~E_NOTICE (2039) ó E_ALL (2047)

En el servidor final (donde colgamos nuestra página) no es interesante que se muestren este tipo de errores, primero porque en ese punto nuestros scripts deberían estar suficientemente probados, y segundo porque los errores podrían revelar paths u otra información sensible que comprometería la seguridad del servidor. (Para más información consultad el artículo sobre seguridad de Aeoris).

En el servidor del programador (localhost o un server de pruebas) sucede lo contrario. Necesitamos activar esas directivas si no queremos volvernos locos programando a ciegas.

En este documento, salvo que se indique lo contrario, se habla de errores funcionales. Un script tiene un error funcional si a pesar de no generar errores visibles, no se comporta como nosotros esperábamos

Cuando nos libremos de los mensajes de PHP, y nuestro script no se comporte de forma adecuada, es cuando deberemos comenzar nuestras tareas de debug.

Principios del debug

Debugear es la reacción natural de un buen programador ante un problema en su script. Es sorprendente ver que los usuarios que llegan al canal con dudas, a veces desesperados por no poder solucionar un error funcional no han realizado el más mínimo debug en el código para intentar arreglarlo.

El código no se arregla sólo

Puedes patalear, llorar y entrar en el canal a dar gritos y esto no cambiará. Cruzándote de brazos y ejecutando el script una y otra vez no se arreglará el problema por arte de magia. ¿Por qué el usuario no debugea? Principalmente es por tozudez . La primera reacción de un mal programador ante un error inesperado es delegar la culpa en otros factores. PHP nunca tiene la culpa de que el script no funcione y tu script probablemente hace exactamente lo que le pides. El problema radica en que lo que le pides no coincide con lo que tú quieres hacer. Así pues, el segundo principio del debug es:

El script no funciona porque el programador ha cometido uno o más errores.

con una pobabilidad infinitesimal de que nos encontremos con un bug REAL en PHP.

Cuanto antes lo asumas antes corregirás el error.

El programador, cuando relee el script buscando errores suele ser benévolo consigo mismo, y las instrucciones escritas le parecen tan lógicas como quince minutos atrás. En su mente todo funciona bien, todas las variables contienen lo que esperamos, los bucles iteran perfectamente, todas las condiciones se cumplen... Y éste es el principal error.



Usuarios que han visto este tema también han visto...

- URLs para posicionamiento en buscadores con PHP
- Enviar un mail con PHP
- Crear tablas Dinámicas con Smarty y PHP
- El tema quizá pueda parecer trivial... ¿Un FAQ del echo? Sin embargo, éste aunque va dirigido primordialmente a principiantes, también puede ser aprovechado por usuarios experimentados que hayan adquirido ciertos vicios en la programación con PHP (algo b
- Números aleatorios en PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 12-02-2012 a las 23:08:44