2010-09-15 8 views
12

Mi piacerebbe molto approfondire i miei script di php e utilizzare cose come i breakpoint, come sto facendo con JS con firebug.Debug PHP con breakpoint - case studies, esempi ..?

Mi piacerebbe sapere di più su quali tecniche le persone usano e alcuni esempi solidi di come eseguire il debug con i punti di interruzione di un progetto php.

di Mi piacerebbe essere in grado di vedere cosa ..

  • Proprietà degli oggetti
  • gerarchie di classe .. dove gli oggetti sono provenienti da, i nomi dei file, ecc .. (utili in ZF/Magento)
  • variabili, tipi, contenuti ..
  • intestazioni, i dati postali, ottenere i dati, i dati di sessione, cookie ..
  • stato rete/filesystem ..

So che molto può essere fatto con logging e print_r/vardump etc, ma è un po 'grezzo .. e mi piacerebbe poter usare un comando "continue"/"step-over" su codice dopo aver colpito un breakpoint, come con firebug.

da php.ini:

zend_extension_ts = c:\wamp\bin\php\php5.2.11\ext\php_xdebug-2.1.0-5.2-vc6.dll; 
xdebug.remote_enable=On; 
xdebug.remote_host="localhost"; 
xdebug.remote_port=9000; 
xdebug.remote_handler="dbgp"; 
+0

si rimanda stackoverflow.com/questions/30124782/debug-project-in-phpstorm, risponde alla domanda. –

risposta

13
+0

Uso NetBeans come client e funziona correttamente. – tamasd

+0

xdebug sembra eccellente, insieme al client Windows. Non sto utilizzando uno degli IDE supportati (io uso E quasi esclusivamente), però. – dmp

+0

Grande, grazie. Per riferimento, questa è una panoramica utile: http://brownsofa.org/blog/archives/99 – dmp

3

Usa XDebug, lo fa la maggior parte di ciò che si richiede (non di rete/file system), e con esso è possibile eseguire il debug da Eclipse, Zend Studio, pdt, o anche notepad ++

Continuo a eseguire il debug più e più volte quando si ha a che fare con Magento, ed è molto utile in questo caso, dal momento che lo stack delle chiamate di funzioni di Magento è molto profondo.

+0

Come per la risposta di Wrikken, xdebug sembra fantastico, grazie per il suggerimento. Mi piacerebbe ancora vedere anche alcuni casi studio! – dmp

1

PHP è interpretato e linguaggio di scripting lato server. Quindi, ci sono solo pochi editori che supportano il punto di rottura in PHP. E se stai facendo lo scripting lato server, non c'è modo di eseguire il debug del tuo script usando i breakpoint.

Tuttavia, se si prevede di eseguire il debugging degli script di base &, è possibile utilizzare http://www.firephp.org/. Inoltre, se utilizzi l'editor di Zend Studio, avrai a disposizione molte opzioni per il debug del tuo script. Zend Studio supporta il punto di interruzione, esegui le opzioni di debug &.

Preferisco registrare l'esecuzione del mio script nel file.

Grazie

+0

per cromo/cromo; http://www.chromephp.com/. – imme

+0

Leggi stackoverflow.com/questions/30124782/debug-project-in-phpstorm –