Halloween se acerca y parece un buen momento para recordar todos los momentos de terror que WordPress ha traído en mi vida. La programación de WordPress es principalmente divertida, pero, especialmente como aprende, a veces afectará errores que son mal entendidos y devastadores. Si realmente necesita el sitio en el que trabaje para que funcione correctamente, esta puede ser una experiencia principal. Hoy echaremos un vistazo a probablemente el error más aterrador de todos: la pantalla blanca de WordPress (WWSO). Así es como se ve:

¿Sí No? Al igual que mirar un fantasma.
Obtener información de WWSOD El principal problema con WWSOD es que no le brinda ninguna información. El principal problema con WWSOD es que no le brinda ninguna información. En particular, WWSOD es el resultado de un tipo de error (casi cierto PHP), pero no reciba un mensaje de error que le permita comprender el problema. Verá WWSOD solo cuando su servidor de sitio esté configurado para no mostrar errores de PHP. Muchos servidores están configurados de esta manera, porque a los usuarios no les gusta ver errores y advertencias de PHP feos y porque los mensajes de error pueden incluso comprometer la seguridad de su sitio. Revelando cómo se configura su sistema de archivos.
Por lo tanto, nuestro objetivo para resolver nuestro problema de detección blanco es primero encontrar un mensaje de error para inspeccionar. Leer revistas de error PHP es un camino a seguir, pero para nuestros propósitos examinaremos la opción más simple: obtener mensajes de error para mostrar en el navegador. A continuación analizaremos dos formas de decirle a PHP que muestre mensajes de error. 1. Activación WP_Debug en WP-Config.php La forma más rápida de mostrar errores es editar el archivo wp-config.php. WP-Config.php debe ubicarse en la carpeta raíz de la instalación de WordPress: la misma carpeta que contiene WP-Admin, WP-Content y WP-Includes. Editar WP-Config.php como editaría cualquier otro archivo PHP (por ejemplo, con un editor de texto), y la línea que querrá cambiar es esta: define (‘wp_debug’, falso); Debe cambiar esto: define (‘wp_debug’, true); Una vez que haya realizado este cambio, guarde WP-Config.php modificado a su ubicación original. ¿Qué hace esto? En primer lugar, nuestro WWSOD ahora se reemplaza con lo siguiente:

Por lo tanto, la configuración de la constante global WP_DEBUG a True le dice a WordPress que active muchas opciones para mostrar errores que obligan a los errores de PHP a aparecer en su navegador, incluso si su servidor no los mostraría de otra manera.

Con la visualización de este error, sabemos dónde buscar: Line 7 A Functions.php del tema activo (quincechild ‘s). Y de hecho, para crear este error, escribí algunas tonterías de PHP en esa línea de funciones. Php: trouble = ahora; 2. Para personas de lujo: edición de php.ini Si tiene suficiente acceso y cómodo con su servidor, puede obtener mensajes de error para mostrar mediante la edición del archivo php.ini. Esto puede estar en algunos lugares, por lo que utilizará una función llamada phpinfo () para encontrarla. Una vez que lo haya encontrado, puede editarlo en el instrumento de línea de comando (si comprende la línea de comando) o puede usar un editor de texto (si tiene un buen acceso al sistema de archivos del servidor). Dentro de php.ini, el propio, el propio La opción de edición principal se llama display_errors, que puede configurar en o desactiva. Sin embargo, puede establecer muchos otros errores interesantes en este archivo. Por ejemplo, con la opción ERROR_LOG, puede proporcionar una forma a un archivo de texto, y ese archivo luego registrará todos los errores de PHP que genera el sitio.
Mi servidor local (el de mi computadora privada, configurado con WAMP) incluso tiene una extensión llamada XDebug que hace que los mensajes de error sean más legibles y le permite seguir las rutas que se les ha llamado. La versión xdebug de nuestro error inicial se ve así:
Haga clic para aumentar

No querría esto en un sitio en vivo (ya que permite a todos ver los elementos internos del sitio), pero es muy útil para la resolución de problemas locales. Otras notas sobre WWSOD en el nivel del sitio (incluido WP -admin) o limitado de acuerdo con donde escribió el error, puede WWSOD todo el sitio, incluido el área de administración de WordPress (WP -admin), o simplemente una parte del sitio para Recuerde todo su sitio, mi error de muestra ha sido en funciones.php. El archivo PHP se ejecuta automáticamente para cada página en el sitio. Eso significa un WWSOD para el sitio completo, incluso para el área de administración. Lo que realmente da miedo es si usa el área de administración para realizar cambios de PHP usando> editor y no tiene un modo de reserva (especialmente FTP) a modificar los archivos afectados . Si escribe una función de error en Functions.php en Back-end, puede eliminar tanto el sitio como la herramienta que necesita para reparar el sitio. En otras palabras, ¡preste atención al editor de apariencia de WordPress! Sin embargo, otros cambios limitados eliminan solo ciertas secciones del sitio. El código de errores en Page.php, por ejemplo, solo eliminará las publicaciones de la página (como la página de su sitio), ya que estas son las únicas páginas en el sitio que intentan usar el código comprometido. Su área de administración, por ejemplo, nunca usa Page.php, por lo que permanecerá activo, sin importar cuán equivocado esté el archivo.

Entonces, si alguna vez se ha preguntado por qué algunos errores destruyen todo el sitio y otros son limitados, esta es su respuesta a la media página, podría preguntar qué sucede con las páginas que comienzan bien y luego se detienen en el medio: nuevamente, la activación de la solución de problemas (a través de wp_debug, php.ini u otro método) aclara esta imagen bastante:
Esto corresponde a una función que escribí en el medio del código que crea publicaciones de tipo de página (como nuestra página). La función simplemente dice: problemas_time (); Esta función no se define en ninguna parte, lo que conduce al error fatal que vemos.
Ahora, ¿por qué obtuve una parte de una página primero y no una pantalla blanca total? Esto sucederá cuando se cumplan algunos criterios:
Escriba un error de PHP que tenga lugar en el medio de la reproducción de PHP de una página

El error no es un “error de análisis” -PHP no tiene idea de lo que está hablando porque ha escrito la sintaxis mal, sino un error que PHP puede entender, pero no sabe qué hacer. En este ejemplo, nuestra sintaxis es correcta, pero la función que pedimos PHP se hace cargo.

¡Gracias por Spooks, WWSOD! La pantalla de la muerte blanca de WordPress me dio algunas buenas oportunidades para buscar el alma y muchos suficientes para cambiar las camisas sudorosas. Esperamos que el artículo de hoy lo ayude a disfrutar de los eventos WWSOD como una programación agradable (pero resolutable) Suck, el tipo de trabajo que extiende la diversión de Halloween durante todo el año, y no como un ataque terrorista existencial completo.
¡Gracias por leer! Imagen de crédito: Ray Bodden
WordPress Sliming: Trabajar con la pantalla blanca de la muerte de WordPress
Tags WordPress Sliming: Trabajar con la pantalla blanca de la muerte de WordPress
homefinance blog