2009-07-03 13 views
9

Sto scrivendo alcuni plugin e temi per WordPress e trovo difficile eseguire il debug perché in qualche modo quando la pagina è stata caricata, $ _GET, $ _POST e $ _REQUEST sono tutti vuoti. Anche con la segnalazione degli errori attivata, non ricevo messaggi di errore diversi da una pagina vuota ogni volta che si verifica un errore irreversibile. Esiste comunque la possibilità di abilitare una "modalità di debug" per WordPress?PHP e WordPress: debug

Grazie!

risposta

11

Pera Debug Wordpress plugin: http://wordpress.org/extend/plugins/wp-pear-debug/

Aggiornamento 2015/04/08: Il plugin di cui sopra non è stato aggiornato in pochi anni. È inoltre possibile utilizzare il built-in funzioni di debug WordPress PHP wp-config.php, vale a dire:

// Enable WP_DEBUG mode 
define('WP_DEBUG', true); 

// Enable Debug logging to the /wp-content/debug.log file 
define('WP_DEBUG_LOG', true); 

// Disable display of errors and warnings 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors',0); 

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files) 
define('SCRIPT_DEBUG', true); 

Vedi https://codex.wordpress.org/Debugging_in_WordPress per la documentazione completa

+0

A partire da PHP 7.0 (incerto) che genera quasi errori come Eccezione, sembra che Wordpress a volte interrompa il rendering senza alcun messaggio di errore. (Ovviamente anche se le impostazioni sopra sono fatte.) Impostazione 'set_exception_handler' https: //gist.github.it/kaorukobo/795d43c9a594b021c2d09fffd2935b37 ha aiutato questo problema. – kaorukobo

5

C'è (più di uno /) un modo per abilitare "una 'modalità di debug'" per php in generale. E questo sta installando un'estensione del debugger come ad es. xdebug.
È necessario un client che si connette al debugger e recupera + visualizza le informazioni.
Netbeans 6.7 è stato released e il suo modulo php supporta xdebug. È diventato un bel IDE for PHP development.

+0

Ahimè, io sono utilizzando un host web ospitato, e il mio stile di sviluppo PHP è quello di caricare direttamente sul webhost per il test. Grazie però e se mai dovessi sviluppare sulla mia macchina Windows, userei questo – Extrakun

4

So che questo è stato a lungo una risposta, ma se si define('WP_DEBUG',true); nel vostro wp- errori config.php e non sono ancora vedere, quindi aggiungere il codice subito dopo il comando define:

if (WP_DEBUG) ini_set('display_errors',1);

3

Guarda WordPress FirePHP Debugger (spamming collegamento r dell'uso e rimossi). Usa FirePHP per il debug di wordpress tramite il browser web.

Caratteristiche principali: rilevamento

  • automatico di libreria server FirePHP all'interno php includono percorso o directory separata
  • carico precoce del debugger (prima che il motore di WordPress si avvia)
  • Nessuna modifica al core o la configurazione di WordPress file
  • Abilitazione automatica della modalità di debug di WordPress
  • Gestisce tutti gli errori fatali di php (non più pagine vuote e analisi dei registri)
  • funzioni
  • registri WordPress deprecati e argomenti
  • debug sicuro sul sito live
  • query SQL log
  • superglobals PHP e costanti
  • Informazioni di sistema (WordPress e ambiente server)