entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Debug en PHP

Hola comunidad, estoy de nuevo aquí para ver si me pueden guiar en la solución de un nuevo problema que tengo. Estoy programando en PHP y HTML ya saben la Web pero necesito algo muy importante y es como debugger mi php necesito saber como sucede todo y arreglar algunos errores que tengo en la pagina que estoy actualizando. tengo como IDE SublimeText, ZendStudio y PHPDesigner y no se debuggear el codigo alguien me puede dar algunas referencias ??
Saludos D

2 Respuestas

1voto

Leonardo-Tadei Puntos227320

Hola Dairon,

La cuestión del debbugging en PHP para por el lado de que el software se ejecuta en el servidor, generalmente desde Apache, y el desarrollador está en un cliente. A veces servidor y cliente son la misma computadora, pero al ser la conexión a la aplicación vía HTTP(S) da lo mismo porque a los efectos prácticos es otra computadora.

La extensión de PHP XDebug permite el depurado en este entorno: http://xdebug.org/.

Algunos IDEs como NetBeans tienen capacidad de integración con XDebug: http://wiki.netbeans.org/HowToConfigureXDebug

Si el proyecto no es grande y la parte a revisar está acotada, dado que cada script PHP se ejecuta siempre de principio a final y se desconecta del cliente (corrida única) a veces es más cómodo depurar poniendo algunos print() y var_dump() estratégicamente y listo.

Otra alternativa si el cliente y el servidor son la misma PC es estar monitoreando el log de errores de Apache. En GNU/Linux desde una consola basta con el comando:

tail -f /var/log/Apache/error.log

Por último y lo más importante, configurar el php.ini con las opciones de funcionamiento en "modo developer" y no en "modo producción" que es como viene por default. En el propio archivo están comentada cada valor para las opciones, pero las importantes son mostrar todos los errores, warning y notice, mostrar errores por pantalla y mostrar avisos de "deprecated". También facilita la lectura que se muestren los errores en HTML en vez de en texto plano.

Saludos!

0voto

carlossevi comentado

Muy buena la respuesta de @leonardo-tadei. Comentar que personalmente acabo solucionando todos los problemas depurando al estilo print() y print_r() y con los propios mensajes del modo desarrollo y no he llegado a necesitar XDebug.

Otro método "manual" que puede sacarte de un apuro es escribir los mensajes y los var_dump() sobre un fichero de log en lugar de mostrarlos por pantalla. Éste es muy útil en procesos que no devuelven resultados por pantalla. Te dejo un enlace que explica cómo hacerlo fácilmente: Cómo escribir un log en PHP.

1voto

gcediel Puntos240

Hola, aparte de los consejos de leonardo-tadei, yo también uso Kint:

http://raveren.github.io/kint/

Saludos.

0voto

carlossevi comentado

No lo conocía y tiene muy buena pinta. ¡Gracias por el aporte! No difiere de lo que comenta leornardo pero le añade una librería para hacerlo muy cómodo y vistoso.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta