2010-09-29 13 views
12

Ho installato xdebug bene (visualizzato in phpinfo()) ma sto cercando di farlo funzionare con la funzionalità di copertura del codice di PHPUnit. Continua a dirmi "L'estensione XDebug non è caricata". Ho fatto funzionare bene phpunit con WAMP. Quando eseguo php -m non vedo xdebug elencato né nei moduli php né nei moduli zend che indicano perché phpunit non trova l'estensione xdebugL'estensione xdebug non è caricata

Qualcuno ha qualche idea di questo problema?

La mia configurazione dettagliata è la seguente: Windows 7 php 5.3.0 Apache 2.2.11 Zend Engine v2.3.0 Xdebug v2.1.0

Grazie, Krishnen

risposta

4

Fa WAMP hanno un file di configurazione diverso per la CLI e Apache? Uso Ubuntu personalmente, ma un rapido google mi ha portato a this WAMP FAQ

HTH.

+0

Ciao, phpinfo indica che il seguente file ini viene caricato C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini ... è quello che ho modificato aggiunto le seguenti impostazioni: [XDebug] zend_extension = "C: \ wamp \ bin \ php \ php5.3.0 \ ext \ php_xdebug.dll " xdebug.remote_enable = 1 – krishnen

+1

Quel percorso, cioè' C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini' sembra indicare che hai solo modificato il file di configurazione PHP APACHE, non il C LI file di configurazione PHP. Vedi la risposta di edorian per un puntatore su come scoprire quale file di configurazione sta usando il tuo CLI PHP. – Robin

+0

hai ragione! sono un tale idiota .. ho aggiunto l'impostazione zend_extension nell'altro file di configurazione PHP CLI e ora funziona anche su Windows. Thhks – krishnen

1

Grazie a tutti quelli che hanno risposto. Ho ripetuto la procedura su una workstation Ubuntu. Questa volta ho compilato tutto dalla fonte. Tutto ha funzionato alla perfezione e ora sono in grado di eseguire la phpunit con copertura. Questo deve essere un problema specifico di Windows. Userò solo una finestra di Linux per questo processo. Chiunque abbia problemi con il setup di xdebug su linux, sarò lieto di aiutarti!

2

Digitare php --ini su cmd e andare al file php.ini mostrato.

Questo php.ini bisogno di avere la configurazione di Xdebug ...

mio è:

  
[XDebug] 
; Only Zend OR (!) XDebug 
zend_extension=C:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.0.5-5.3-vc6.dll 
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number. 
xdebug.remote_enable=1 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="c:\wamp\xdebug" 
xdebug.var_display_max_depth = 10 
xdebug.var_display_max_data = 2048 

(perche le linee di rottura)

7

eseguire php --ini per verificare il file di configurazione della strega è stato caricato.
se avete qualcosa di simile:

Loaded file di configurazione: (nessuno)
Ricerca di file .ini aggiuntivi in: (nessuno)
Ulteriori file .ini analizzato: (nessuno)

Basta copiare il tuo php.ini in finestre directory;)

+1

Quando l'utente sta caricando una pagina Web (il che significa che usa apache) viene utilizzata la versione del modulo di php e le impostazioni della versione sono mostrate dalla funzione phpinfo(). Il comando php --ini dalla riga di comando mostra le impostazioni per versione cgi stand-alone di php. – skiabox

0

È necessario creare due collegamenti simbolici:

  1. c: \ php è un link simbolico alla cartella php corrente
  2. c: \ windows \ php.ini è un link simbolico alla vostra php corrente .file ini

Per creare un link simbolico in Windows utilizzano mklink comando

esempio

  • mklink/D c: \ php c: \ percorso \ a \ cartella \ php fa un link simbolico a directory
  • mklink c: \ windows \ php.ini c: \ percorso \ a \ vostra \ php \ php.ini fa un link simbolico su file

sembra che in qualche modo le finestre phpunit pretende molto vedere percorsi effettivi e con questo link simbolici si crea percorsi predefiniti virtuali per esso

0
  1. aperta php.ini.
  2. look per ; zend_extension
  3. rimuovere ; all'inizio del ; zend_extension per consentirgli
  4. Assicurarsi valore zend_extension è la directory giusta per il php_xdebug.dll
Problemi correlati