Si WP_DEBUG no está configurado, según tengo entendido, nunca debería ver advertencias. Pero en algunos sitios en algunos servidores, todavía veo algunos. No todas las advertencias que se mostrarían si se configurara WP_DEBUG, pero algunas selectas.
Intenté cambiar el nivel de error en php.ini, pero eso parece no tener efecto sobre si aparecen o no advertencias, pero aparecen en diferentes cantidades en diferentes servidores (es decir, no hay advertencias sobre el desarrollo, una advertencia sobre la puesta en escena, y algunas advertencias más sobre la producción).
Respuestas:
WP_DEBUG no tiene impacto en la salida de error de PHP. Además de la configuración de error_reporting, configure display_errors = 0 en su archivo php.ini. Está habilitado de forma predeterminada para el desarrollo. Pero lo querrá en los servidores de producción.
fuente
Reemplazar
con este:
fuente
También es posible que esta línea ya esté establecida en falso. En ese caso, verá el siguiente código:
En cualquier caso, debe reemplazar esta línea con el siguiente código:
No olvide guardar sus cambios y cargar su archivo wp-config.php nuevamente en el servidor.
fuente
Intente desactivar / suprimir todas las advertencias / avisos de error en su
wp-config.php
(en la parte superior). De todos modos: los errores no son nada malo. Te dan la oportunidad de arreglar tu código.fuente
Para los entornos de WordPress, generalmente no hay razón para usar
ini_set
porque eso es lo que las constantes definidas proporcionadas por WordPress Core ya están logrando. La forma en que funciona PHP es que ciertas configuraciones pueden anularse dentro de su CMS (WordPress), dentro de scripts individuales, e incluso por usuario o por directorio (para frustración de los servidores web y agencias).Para deshabilitar la visualización de errores en la página en WordPress, la única configuración que realmente necesita es:
... porque cuando
WP_DEBUG
está desactivado, las subopciones están inactivas:Tenga en cuenta que la
WP_DEBUG_LOG
opción confusa solo se refiere a la creacióndebug.log
dentro del directoriowp-content
y no afecta a otras configuraciones de registro, etc.Una vez más, la configuración en WordPress puede anular la configuración predeterminada de PHP, por lo que su configuración de PHP no importa tanto como tener la configuración correcta en su
wp-config.php
archivo, que se carga antes que otros componentes de WP.Dicho esto, es una buena idea implementar la configuración predeterminada como se muestra a continuación en producción:
Para un ejemplo completo, consulte nuestro archivo SlickStack php.ini optimizado para Nginx y PHP-FPM.
En un caso, después de horas de investigación, nos dimos cuenta de que un complemento (o tema) estaba anulando las diversas configuraciones de manejo de errores establecidas previamente en
php.ini
ywp-config.php
. La única forma de evitar esto es eliminar el complemento o tema de WordPress que está tratando de "piratear" la configuración de PHP, o decirles que lo eliminen porque es una muy mala práctica que las extensiones anulen las opciones de depuración de su CMS.En SlickStack, creamos un script bash que "banderas" cualquier
ini_set
yerror_reporting
líneas de un fichero PHP en la cara/themes/
y/plugins/
directorios, poniendo de relieve esas instancias con un plugin de MU (script PHP) que muestra una lista de estos "cortes" en el tablero de instrumentos de administración de WP.fuente