2012-04-04 10 views
11

Ho php in esecuzione su apache. Ho scaricato quella che penso sia la dll compilata da xdebug per php versione 5.4 64 bit windows. Ho abilitato il thread safe e sta usando VC9. Ho scaricato il dll e lo mise qui:XDebug non si carica su Windows 7 64 bit PHP 5.4

C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll 

Ecco quello che ho nel mio php.ini:

[xdebug] 
zend_extension = "C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll" 

Quando inizio Apache, ottengo questo errore:

[Wed Apr 04 17:01:56 2012] [notice] Parent: Received restart signal -- Restarting the server. 
Failed loading C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll 
hild process is ending. 
[Wed Apr 04 17:01:56 2012] [notice] Apache/2.2.22 (Win32) PHP/5.4.0 configured -- resuming normal operations 
[Wed Apr 04 17:01:56 2012] [notice] Server built: Jan 28 2012 11:16:39 
[Wed Apr 04 17:01:56 2012] [notice] Parent: Created child process 2120 
[Wed Apr 04 17:01:57 2012] [notice] Child 2120: Child process is running 
[Wed Apr 04 17:01:57 2012] [notice] Child 2120: Acquired the start mutex. 
[Wed Apr 04 17:01:57 2012] [notice] Child 2120: Starting 64 worker threads. 
[Wed Apr 04 17:01:57 2012] [notice] Child 5624: Released the start mutex 
[Wed Apr 04 17:01:58 2012] [notice] Child 5624: All worker threads have exited. 
[Wed Apr 04 17:01:58 2012] [notice] Child 5624: Child process is exiting 
Failed loading C:\php5\extras\php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll 

risposta

14

OK, funziona ora e penso di sapere cosa c'era che non andava. Stavo usando la versione a 64 bit di PHP, ma la versione a 32 bit di Apache e la versione a 64 bit di xdebug. Ho ricominciato ad usare Apache 2.4 a 32 bit, poiché non sembra esserci una versione a 64 bit con il modulo php5. Quindi, mi sono assicurato di avere la versione a 32 bit di tutto. Sto usando php5.4 con VC9, Thread Safe.

questo post del blog ha aiutato nella sua creazione: http://lifeofageekadmin.com/how-install-apache-2-4-php-5-4-and-mysql-5-5-21-on-windows-7/

1

Dai uno sguardo allo C:\php5\ext e vedi se php_xdebug.dll è già lì. In caso contrario, provare a rinominare php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll a php_xdebug.dll e l'immissione in C:\php5\ext, quindi modificare il vostro php.ini Oltre a:

[xdebug] 
zend_extension = "C:\php5\ext\php_xdebug.dll" 
+0

php_debug.dll non era in là. Ho fatto come hai suggerito e ho ancora ottenuto l'errore. –

+0

Beh, valeva la pena provare. L'unico altro suggerimento che posso fare è provare a eseguire PHP 5.3 usando il binario Xdebug qui: http://downloads.php.net/pierre/ – Xenon

31

Al fine di assicurarsi di aver scaricato il file binario corretto, è possibile utilizzare la procedura guidata in http://xdebug.org/wizard.php E ' ti dirà esattamente quale file scaricare e in quale file php.ini dovresti inserire la linea zend_extension (stai utilizzando quella corretta ora ovviamente, quando ottieni l'errore "Impossibile caricare").

+0

Per qualche motivo, la procedura guidata non ha funzionato quando ho provato questo. Non funziona ancora in realtà. Sono andato alla mia pagina phpinfo.php sul mio localhost, ho premuto CTRL + A e poi CTRL + C e incollato i risultati nella procedura guidata. Sputava alcune informazioni, ma non era completo. Poi ha detto "Impossibile trovare alcuna informazione utile". –

+0

Infatti, l'ho appena aggiornato. Controlla se funziona ora? – Derick

+0

Siamo spiacenti, no, non funziona ancora. –

4

OK, so che questo è davvero un thread vecchio zombie, ma avendo eseguito attraverso questo problema io stesso di recente, si scopre di avere una soluzione banale.

PHP.INI richiede l'uso di barre in avanti per le directory, mentre le istruzioni fornite per l'installazione di XDebug in Windows utilizzano barre rovesciate. COSÌ riferisce alla suddetta problema originale, la soluzione consiste nel modificare la riga per leggere zend_extension:

zend_extension = "C: /php5/extras/php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll"

Spero che questo ti aiuti.

+2

Questo non sembra essere vero. Ecco la mia voce ini: zend_extension = "C: \ development \ languages ​​\ php5517tsx86 \ ext \ php_xdebug-2.2.5-5.5-vc11.dll" e funziona. –

+0

Anche io ho il backslash e tutto funziona, il mio problema era che avevo x86 PHP su un sistema x64 e erroneamente usato x64 xdebug dll. Aiuta a controllare 'phpinfo();' produce da solo e sceglie x86/x64 e TS/NTS – kit

+0

Ho barre rovesciate e funziona per me ma non per il mio collega. Forward-slash non funziona neanche per lei ... – Tech

3

Finalmente ho funzionato. Seguendo le istruzioni sul sito web xdebug, ho usato la procedura guidata e scaricato il file dll nella directory 'ext'. La procedura guidata allora mi ha detto di aggiungere questa riga al mio file php.ini: zend_extension=ext\php_xdebug-2.3.3-5.6-vc11.dll

Questo mi ha dato l'errore visto sopra: Failed loading ext\php_xdebug-2.3.3-5.6-vc11.dll

Ho anche provato a sostituire il contrario di barra con una barra in avanti, ma questo non è riuscito con il messaggio: Failed loading ext\ext/php_xdebug-2.3.3-5.6-vc11.dll

Guardando l'ultimo messaggio, ho pensato che forse la directory di estensione stava causando problemi, e ho visto che nel mio file php.ini era questa linea: extension_dir = "ext"

Così ho cambiato ad usare: zend_extension=php_xdebug-2.3.3-5.6-vc11.dll E ha funzionato !!

+0

Grazie, questa è la correzione che mi serviva per Windows 10. –

0

Aveva lo stesso problema. Per me, avevo bisogno del percorso assoluto per zend_extension, tra virgolette (ma i backslash vanno bene).

0

Ho Windows 7 a 64 bit e PHP v5.4.4, ma la versione di x-debug che ho bisogno di scaricare è:

PHP 5.4 VC9 (32 bit) (MD5: ffeb0215621d330fa53b249f0930ffae)

perché IIS non può funzionare con xdebug 64bit

anche le mie istruzioni php.ini:

[Xdebug] 
zend_extension="C:\Program Files (x86)\iis express\PHP\v5.4\ext\php_xdebug-2.4.0rc4-5.4-vc9-nts.dll" 
xdebug.remote_enable=1 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
xdebug.profiler_enable=1 
xdebug.profiler_output_name = cachegrind.out.%t.%p 
xdebug.profiler_output_dir = "C:\temp\php" 
xdebug.profiler_output_dir="C:\temp\php" 
Problemi correlati