WP Debugging

Descripción

Este plugin establece las siguientes constantes de depuración en wp-config.php al activar el plugin y los elimina al desactivarlo. Cualquier error resultará en el lanzamiento de una Excepción PHP. Constantes de depuración en Depuración en WordPress.

Ajustes por defecto:

define( 'WP_DEBUG_LOG', true );
define( 'SCRIPT_DEBUG', true );
define( 'SAVEQUERIES', true );

 
@ini_set( ‘display_errors’, 1 ); se establece cuando el plugin está activo. WP_DEBUG se establece como verdadero cuando el plugin se ejecuta por primera vez, después se puede desactivar en los ajustes.

La página de Ajustes permite al usuario configurar lo siguiente.

define( 'WP_DEBUG', true ); // Default on initial plugin installation.
define( 'WP_DEBUG_DISPLAY', false ); // Default when not declared is true.
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true ); // WordPress 5.2 WSOD Override.

Cuando se desactiva el plugin, se hace todo lo posible para reponer las constantes preexistentes a su estado anterior. Cuando el plugin se activa, se restablecen los ajustes por defecto y cualquier configuración guardada.

Este plugin usa el comando wp-cli/wp-config-transformer para escribir constantes en wp-config.php.

Debug Quick Look de Andrew Norcross se incluye con este plugin para ayudar a leer el archivo debug.log. Si ya tienes este plugin instalado debes eliminarlo cuando WP Debugging no esté activo.

Los plugins Query Monitor y Debug Bar son dependencias opcionales para ayudar a la depuración y la resolución de problemas. El aviso de instalación se repetirá 45 días después de ser desestimado.

Si tienes una ubicación no estándar para tu archivo wp-config.php puedes usar el filtro wp_debugging_config_path para devolver la ruta del archivo para su instalación.

El filtro wp_debugging_add_constants permite al usuario añadir constantes a wp-config.php.

El filtro devuelve un array en el que la clave es el nombre de la constante y el valor es un array de datos que contiene el valor como cadena y un booleano para indicar si se debe pasar el valor sin comillas o no.

$my_constants = [
    'my_test_constant' =>
    [
        'value' => 'abc123',
        'raw' => false,
    ],
    'another_test_constant' => [ 'value' => 'true' ],
];

La opción value contiene el valor de la constante como una cadena.

La opción raw significa que en lugar de colocar el valor dentro de la configuración como una cadena, ésta pasará a ser sin comillas. El valor por defecto es true. Establécela como false para valores no booleanos.

Ejemplo:

add_filter(
    'wp_debugging_add_constants',
    function( $added_constants ) {
        $my_constants = [
            'my_test_constant'      => [
                'value' => '124xyz',
                'raw'   => false,
            ],
            'another_test_constant' => [ 'value' => 'true' ],
        ];
        return array_merge( $added_constants, $my_constants );
    },
    10,
    1
);

Esto creará las siguientes constantes.

define( 'MY_TEST_CONSTANT', '124xyz' );
define( 'ANOTHER_TEST_CONSTANT', true );

Desarrollo

PRs are welcome against the develop branch on GitHub.

Capturas

  • Settings Screen

Reseñas

4 de septiembre de 2021
Huge. I needed help with something and installed this, found the issue, resolved it, deleted the plugin. Love it. Thanks!
9 de abril de 2021
With this plugin it's at last possible to debug a remote site wihtout having access to the cpanel!
23 de noviembre de 2020
Quick access to the log files speeds up development!
Leer todas las 11 reseñas

Colaboradores y desarrolladores

«WP Debugging» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«WP Debugging» ha sido traducido a 5 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce «WP Debugging» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

2.11.13 / 2022-06-23

  • make anchor preg_match more greedy

2.11.12 / 2022-05-29

  • update to latest afragen/debug-quick-look

2.11.11 / 2022–5-16

  • update wp-dismiss-notice with transient and only poll wp_remote_get() weekly

2.11.10 / 2022-05-10

  • use sanitize_key() for nonces
  • composer update

2.11.9 / 2022-02-05

  • composer update

2.11.8 / 2022-01-24

  • load call to WP_Dependency_Installer() in plugins_loaded hook to avoid loading pluggable.php.
  • update WP_Dependency_Installer

2.11.7 / 2022-01-18

  • fix logic in verify nonce conditional

2.11.6 /2022-01-18

  • proper nonce verification
  • composer updates

2.11.5 / 2022-01-11

  • I messed up the release 🤦‍♂️

2.11.4 / 2022-01-10

  • composer updates

2.11.3 / 2021-12-19

  • more fixes via composer update

2.11.2 / 2021-09-24

  • composer update, cause of course I needed to fix something

2.11.1 / 2021-09-24

  • init in plugins_loaded hook
  • composer update

2.11.0 / 2021-09-23

  • fix security issue for capabilities check, possible CSRF, and nonce checks.

2.10.2 / 2021-09-04

  • only use esc_attr_e for translating strings

2.10.1 / 2021-07-23

  • fix PHP Notice, Settings:line 68
  • update Debug Quick Look admin bar menu for mobile

2.10.0 / 2021-06-30

  • update Debug Quick Look to show menu on mobile

2.9.3 / 2021-06-22

  • update WPConfigTransformer to use alternate anchor if default not present
  • add @10up GitHub Actions for WordPress svn integration

2.9.1 / 2020-11-17

  • update wp-dependency-installer library
  • update wp-cli/wp-config-transformer
  • comment out quote normalization in set_pre_activation_constants(), not sure why I did that but it can cause problems #10

2.9.0 / 2020-08-15

  • use try/catch around use of WPConfigTransformer object

2.8.0 / 2020-08-01

  • exit if called directly
  • NB: I have seen the WPConfigTransformer Exception error live. The issue seems to be that a file_get_contents() on the wp-config.php file path, at random times, returns an empty value. I’m done chasing this random error in wp-cli/wp-config-transformer. Modified version of wp-cli/wp-config-transformer present

2.7.2 / 2020-06-01

  • test wp-config.php everywhere, still occasional WSOD reports.

2.7.1 / 2020-5-15

  • return early if wp-config.php is empty before calling WPConfigTransformer

2.7.0 / 2020-04-30

  • start loading in init hook
  • run process_filter_constants() as chained method in Bootstrap

2.6.1 / 2020-03-28

  • move Settings action link to front
  • change test for wp-config.php file empty

2.6.0 / 2020-02-28

  • load autoloader in main file
  • update composer dependencies

2.5.8 / 2019-12-23

  • badly messed up check for empty wp-config.php

2.5.7 / 2019-12-20

  • check and exit early if wp-config.php is empty
  • return empty array for the above exit

2.5.6 / 2019-11-02

  • early exit if wp-config.php not set in specific functions

2.5.5 / 2019-09-17

  • update composer.json for wp-dependency-installer update, now requires at least PHP 5.6 for spread operator
  • composer update

2.5.4 / 2019-04-25

  • added check for writable wp-config.php, exit with notice if not found

2.5.3 / 2019-04-01

  • update Debug Quick Look to display error log file path

2.5.1 / 2019-04-01

  • updated version of wp-cli/wp-config-transformer

2.5.0 / 2019-03-25

  • added wp_debugging_add_constants filter for users to add their own constants

2.4.3 / 2019-03-09

  • missed an output escape

2.4.2 / 2019-02-26

  • add Domain Path header

2.4.1 / 2019-02-10

  • refactor set/restore pre-activation constants

2.4.0 / 2019-02-06

  • save pre-activation constants for re-installation on deactivation ( say that 5x fast )

2.3.0 / 2019-02-04

  • look for wp-config.php in directory above ABSPATH
  • add filter wp_debugging_config_path to set non-standard path to wp-config.php

2.2.0 / 2019-02-02 🏈

  • initial release on dot org

2.1.1 / 2019-02-01

  • only show WSOD bypass when appropriate
  • update dependencies

2.1.0 / 2019-01-26

  • update Debug Quick Look, minor CSS changes
  • Improve messaging
  • add setting for WP_DISABLE_FATAL_ERROR_HANDLER constant (WSOD)
  • add default setting of WP_DEBUG to true, can be changed

2.0.0 / 2019-01-18

  • total re-write
  • add settings page
  • use wp-cli/wp-config-transformer to change wp-config.php
  • include norcross/debug-quick-look as dependency via composer but use my fork
  • update POT via composer.json and wp-cli
  • add image assets