2009-05-19 10 views
6

Ho provato per un po 'di tempo per farlo funzionare correttamente ma senza fortuna. Fondamentalmente, ho Eclipse (3.3) con PHP Development Tools (PDT), e il plugin PDT XDebug e il plugin di eclissi SimpleTest.Come è possibile impostare PHP + xDebug + (x) Unit + Eclipse per lavorare con i breakpoint nei test unitari?

Quello che voglio fare è il codice di debug invocato dai test di unità SimpleTest. SimpleTest può vedere chiaramente XDebug, perché posso generare report sulla copertura del codice, ma non si fermerà solo sui breakpoint.

Edit: Dovrebbe aggiungere che XDebug e punti di interruzione funzionano bene in Eclipse, non solo quando viene richiamato da SimpleTest

Qualcuno ha impostare questa funzione con successo? Ci sono un sacco di documenti di guff in giro e poco in termini di informazioni utili.

Grazie!

risposta

3

Assicurarsi di avere la versione XDebug giusta per la vostra versione di PHP e aggiunge questo, proprio all'inizio del file php.ini:

[xdebug] 
zend_extension=full_path_to_your_xdebug.so 
xdebug.default_enable=On 
xdebug.remote_enable=On 
xdebug.remote_handler="dbgp" 
xdebug.remote_host="localhost" 
xdebug.remote_port=9000 

Poi fanno un apachectl graceful e un phpinfo e assicurarsi XDebug è presente e attivo. Se lo è, tutto dovrebbe funzionare bene. So che lo fa per me.

edit: ho risposto prima di leggere l'intera questione.

prima di eseguire lo script è necessario impostare la variabile di ambiente;

export XDEBUG_CONFIG="idekey=session_name" 

Potrebbe essere possibile fare questo da PHP ma non riesco a testare questo:

putenv('XDEBUG_CONFIG="idekey=session_name"'); 

è necessario assicurarsi che il binario php si usa ha l'estensione XDebug caricato, sul mio sistema del il modulo apache ce l'ha, ma l'interprete CLI predefinito non lo fa, ma eseguo apposta versioni diverse.

C'è un po 'good documentation qui

0

di andare oltre alla risposta Kris', se la gestione di risorse di produzione e sviluppo sullo stesso server, E' una buona idea di relegare le impostazioni Xdebug o ad una php include oa quelli di il vostro virtualhosts che si occupano dev o testing ambienti:

  • la sintassi per VirtualHosts è

    <virtualHost ....> 
    
        (...) 
    
        # Xdebug ENV 
        php_flag xdebug.auto_trace on 
        php_flag xdebug.idekey session_name 
        php_flag xdebug.profiler_enable_trigger 1 
        php_flag xdebug.(...) 
    
        (...)