2010-05-19 13 views
9

Sono un vero principiante quando si tratta del debug di PHP, quindi perdona la mia stupidità. Ho un semplice modulo HTML che si sottomette a uno script PHP e voglio eseguire il debug di questo script e vedere cosa viene inviato dal modulo.Debug di PHP in Aptana 2.0

My Aptana ha due due interpreti PHP installati; Zend Debugger sulla porta 10001 e XDebug su 9000

ho l'Firefox Addon Aptana installato

ho la mia pagina HTML sul seguente url, in esecuzione a livello locale;

http://3i/latest.html

Nell'IDE apro gli script PHP e aggiungere un po punti di interruzione, ho quindi aprire le latest.html e clicco sul pulsante di debug. Avvia la pagina HTML in un server web locale in esecuzione su;

http://127.0.0.1:8000/3i/latest.html

Ho poi compilare il modulo e inviarlo a questo punto il debugger mi dice che il JS Debugger è terminata, ma non si ferma ai miei punti di rottura.

Ho avuto una buona lettura e non riesco a trovare nulla che mi aiuti, il che mi fa pensare che sia qualcosa di abbastanza facile e sono un po 'stupido.

+0

Per chi sta leggendo questo, la risposta fornita Phill Pafford di seguito è stata la risposta più utile.Ad essere sinceri, nessuno ha risolto il problema, ma il link che ha fornito ha funzionato usando un plug-in di Firefox. Non mi rendevo conto che Stack ha assegnato automaticamente i punti su una taglia se non avessi selezionato nessuno. – screenm0nkey

risposta

3

Si dice che sono stati installati sia il debug di XDebug che di Zend: sono state apportate le modifiche appropriate al php.ini locale? Non è possibile avere entrambi in esecuzione contemporaneamente: i debugger fungono da controller delle applicazioni, comunicano con il server Web e gli impartiscono ordini di interruzione, sospensione o proseguimento dell'esecuzione dello script e il fatto che due di essi siano configurati allo stesso tempo può causare comportamento di debug inaspettato come hai descritto.

Supponendo che si desideri XDebug, si aprirà php.ini, si cerca [XDebug] (o [Zend]). Commentare tutte le opzioni zend_ * e mettere le seguenti opzioni:

[XDebug] 
;; Only Zend OR (!) XDebug 
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll" 
xdebug.remote_enable=true 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="C:\xampp\tmp" 

Sì, so che sono su Windows al momento - non farfugliare. Sostituisci il percorso dell'estensione con il percorso appropriato per XDebug sul tuo server. Se vuoi usare Zend Debugger allora è più o meno lo stesso, basta disabilitare XDebug. Non dimenticare di riavviare il tuo server web.

EDIT - Forse non sono stato chiaro; puoi averli installati entrambi, non puoi averli entrambi in esecuzione contemporaneamente.

+0

Ciao Jarrod, l'ho fatto. Ora, come posso configurare Aptana? Di seguito è riportato le informazioni nel mio php.ini zend_extension_ts = D: \ WAMP \ bin \ php \ php5.2.6 \ ext \ php_xdebug-2.1.0RC1-5.2-vc6.dll xdebug.remote_enable = true xdebug. remote_host = localhost xdebug.remote_port = 9000 xdebug.remote_handler = dbgp xdebug.profiler_enable = 1 xdebug.profiler_output_dir = "D: \ WAMP \ tmp" – screenm0nkey

+0

fare ora devo aggiungere che come interprete PHP in Apatana. Quando faccio clic sul pulsante di debug, viene utilizzato l'eseguibile locale di xdebug di Aptana che esiste nella cartella dei plugin Aptana. – screenm0nkey

+0

Dovrebbe esserci uno schermo in Aptana chiamato "Modifica PHP Interpreter". Dovrai cambiare il percorso dell'eseguibile nella tua installazione Xdebug e cambiare il percorso (se non lo hai già fatto) nel file INI che vuoi usare. Fondamentalmente, è necessario stabilire il tuo XDebug come server di debug (e mirare alla porta corretta) in Aptana, e colpire quel server durante il debug. –

0

La mia ipotesi è che non si dispone di un server Web abilitato PHP in esecuzione sul computer locale. Aptana 2.0 (a differenza di Aptana 1.5) non è dotato di un server web con PHP integrato. Per confermare questo, vai al tuo link (http://127.0.0.1:8000/3i/latest.html) in Firefox e guarda la fonte. Se vedi il vero codice sorgente PHP, significa che non viene eseguito attraverso un server web abilitato per php.

Ci sono molte buone opzioni per server web PHP là fuori (ad esempio XAMPP, WAMP, EasyPHP, UniServer), fare qualche ricerca su google e installarne una. Dovrai configurare un alias Apache in modo che punti al tuo spazio di lavoro Aptana e potresti dover installare anche xdebug separatamente.

Onestamente Aptana 2.0 non è un ottimo IDE PHP. Attaccherei con Aptana 1.5 che è dotato del web server php integrato.

+0

Hi Seth, Grazie per la risposta. Sto usando Apache e PHP 5.2.6, che ho installato usando WAMP. Quindi l'utente http: //3i/latest.html è in esecuzione su Apache, ma quando premo il pulsante di debug lo carica nel webserver locale in esecuzione in Aptana. – screenm0nkey