Pregunta

Estoy jugando con una aplicación de weblog PHP usando un servicio de alojamiento compartido, como parte de mi proceso de aprendizaje de PHP. El proveedor de servicios tiene un entorno LAMP típico con acceso ssh remoto.

Vim ha sido mi mejor amigo al explorar el código PHP. Sin embargo, a veces me resulta difícil rastrear cosas en el código en caso de error. Por ejemplo, a veces visito una página y recibo una respuesta en blanco sin ningún mensaje de error. ¿Cómo debo proceder para depurar esto? ¿Alguna herramienta que sea útil?

Mi experiencia ha sido principalmente en C / C ++, Perl y algo de programación CGI. Entonces PHP es una experiencia muy refrescante conmigo :-)

En caso de que sea importante, la aplicación con la que estoy jugando es Lyceum , y no tener muchas opciones en el entorno LAMP en sí.

EDITAR: Herramientas de software gratuitas preferidas :-)

¿Fue útil?

Solución

Supongo que su proveedor de alojamiento configuró su instalación de PHP con display_errors desactivado, lo cual es algo bueno. Por eso estás viendo páginas en blanco. Entonces, la solución más práctica en este momento sería tener un archivo .htaccess que lo encienda:

php_flag display_errors on

También necesitaría error_reporting a un valor apropiado:

php_flag error_reporting "E_ALL | E_STRICT"

De todos modos, recuerde desactivar esto antes de permitir que los usuarios accedan a su sitio web.

Para la depuración avanzada, recomendaría Xdebug instalado en el servidor con Eclipse PDT o NetBeans IDE con soporte PHP como su editor. Ambos son buenos clientes para la depuración, pero realmente dudo que algún proveedor instale Xdebug en sus servidores en vivo. Por lo tanto, le quedan funciones de registro si no tiene un entorno de desarrollo.

Otros consejos

Obtener acceso a su propio entorno de desarrollo local (a través de XAMPP, por ejemplo) le permitiría instalar XDebug.

PhpEd le permitiría depurarlo, pero también el entorno PDT de Eclipse.

El seguimiento y registro de errores mediante la edición del archivo de configuración ini de php también es una buena manera, especialmente si puede administrarlo para registrar información. Además, considere agregar declaraciones de rastreo y usar FirePHP, por ejemplo.

Personalmente, recomendaría jEdit en lugar de vim. El complemento SFTP le permite editar (bueno, cargar y guardar) los documentos PHP directamente en el servidor y el complemento PHPParser le dará algún reconocimiento de error.

Además, si obtiene una página en blanco sin mensajes de error, es muy probable que esos mensajes se le oculten. Asegúrese de que los informes de errores estén habilitados, ya sea en su config o en su código como este:

// Report all PHP errors
error_reporting(E_ALL);

Si el informe de errores está habilitado y aún no ve ningún mensaje, habilitar el registro o habilitar salida al navegador .

Si obtiene una página en blanco, probablemente se deba a un error fatal, con display_errors desactivado. Por defecto, PHP registrará los errores en el registro de errores de Apaches, pero también puede configurarlo en errores de registro en un registro separado .

Para la depuración, es posible que también desee consultar Xdebug. Esta extensión puede hacer muchas cosas, incluida la depuración interactiva. Necesitará un cliente para usar el depurador, pero hay un complemento para vim que hace esto.

Pruebe NuSphere PhpED

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top