Como definir WP_DEBUG como verdadeiro fora de wp-config.php?

6

Estou tentando criar um modo de depuração em um dos meus plug-ins, para que os usuários possam ativar o WP_DEBUG por conta própria, e esperamos que ele nos informe com mensagens de erro úteis. No momento, pedimos que modifiquem o wp-config.php, mas isso está além das capacidades de alguns usuários. Eu estava esperando apenas adicionar define( 'WP_DEBUG', true ); em nosso plugin se o usuário verificou essa opção, mas parece que você só pode habilitar o WP_DEBUG a partir do arquivo wp-config.php.

Alguém sabe alguma forma de ativar o WP_DEBUG de qualquer outro lugar que não seja o wp-config? Ou existe outra função útil do WP que eu poderia usar em vez disso?

Obrigado Dalton

    
por Dalton 28.03.2012 / 13:54

4 respostas

5

A lógica do WordPress força WP_DEBUG a ser definido como algo , mesmo se for omitido, será definido como false em wp_initial_constants() durante o carregamento.

No entanto, a função "background" (que não é quando está marcada explicitamente) de WP_DEBUG deve ser um sinalizador de como o relatório de erros PHP deve ser configurado no tempo de execução. Essa configuração é executada por wp_debug_mode() e, a qualquer momento, pode ser alterada pelo código do seu plug-in, se necessário.

    
por Rarst 28.03.2012 / 15:04
3

Não é possível ativar WP_DEBUG porque ele é definido em wp-config.php por padrão, redefinição de constantes não é possível no PHP.

Se você quiser mantê-los fora de wp-config.php , peça-lhes para adicionar algo como:

if ( file_exists( 'safe-wp-config.php' ) ) {
    /* this will contains WP_DEBUG */
    include 'safe-wp-config.php';
}

Alternativamente,

WP_DEBUG é assumido como false quando ausente, então deixe-os remover WP_DEBUG completamente de wp-config.php e usar onde e quando quiserem.

    
por soulseekah 28.03.2012 / 14:22
1

No entanto, se você realmente deseja exibir erros e não armazená-los no arquivo de log (como eu queria), então você pode ativar a depuração para o seu IP público como seguir -

if ( $_SERVER['REMOTE_ADDR'] == 'xxx.xxx.xxx.xxx')
define('WP_DEBUG', true);

Não deve haver um problema, contanto que você esteja em IP estático, mas se você tiver IP dinâmico, provavelmente poderá alterar o IP toda vez que precisar ativar o debugigng.

    
por Sachin Khosla 11.03.2013 / 13:08
0

Estou muito atrasado para a festa. No entanto, eu tinha um requisito em que tinha que habilitar o wp_debug e não tinha acesso aos arquivos. Este plugin ajudou: enlace

Talvez você possa fazer o mesmo que o plugin? Edite o wp-config.php programaticamente?

    
por Arun Basil Lal 09.10.2017 / 22:42

Tags