2012-04-04 14 views
11

Mam php uruchomiony na apache. Pobrałem to, co uważam za poprawną bibliotekę dll dla xdebug dla 64-bitowych Windows w wersji 5.4. Mam włączone zabezpieczenie wątków i korzystam z VC9. Pobrałem dll i umieścić go tutaj:XDebug nie ładuje się na Windows 7 64-bitowy PHP 5.4

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

Oto co mam w php.ini:

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

Kiedy zacznę Apache, otrzymuję ten błąd:

[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 

Odpowiedz

14

OK, działa teraz i myślę, że wiem, co było nie tak. Używałem 64-bitowej wersji PHP, ale 32-bitowej wersji Apache i 64-bitowej wersji xdebug. Zacząłem od nowa i użyłem Apache 2.4 w wersji 32-bitowej, ponieważ nie ma tam wersji 64-bitowej z modułem php5. Tak, upewniłem się, że mam 32-bitową wersję wszystkiego. Używam php5.4 z VC9, Thread Safe.

Ten blogu pomógł w jej utworzeniu: http://lifeofageekadmin.com/how-install-apache-2-4-php-5-4-and-mysql-5-5-21-on-windows-7/

1

Zajrzyj pod numer C:\php5\ext i sprawdź, czy już jest tam php_xdebug.dll. Jeśli nie, spróbuj zmienić php_xdebug-2.2.0RC1-5.4-vc9-x86_64.dll do php_xdebug.dll i umieszczenie go w C:\php5\ext, a następnie zmienić php.ini dodatek do:

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

php_debug.dll nie było tam. Zrobiłem to, co sugerowałeś i nadal masz błąd. –

+0

Cóż, warto było spróbować. Jedyną inną sugestią jaką mogę zrobić jest to, że próbujesz uruchomić PHP 5.3 używając binariów Xdebug tutaj: http://downloads.php.net/pierre/ – Xenon

31

W celu upewnienia się, że pobrałeś poprawną binarny, można użyć kreatora na http://xdebug.org/wizard.php To powie dokładnie, który plik do pobrania iw którym pliku php.ini powinieneś umieścić wiersz zend_extension (teraz używasz poprawnego, ponieważ pojawi się błąd "Nie można załadować").

+0

Z jakiegoś powodu, kreator nie działał, gdy próbowałem tego. Wciąż nie działa. Poszedłem na stronę phpinfo.php na moim hoście lokalnym, naciśnij CTRL + A, a następnie CTRL + C i wkleiłem wyniki do kreatora. Wypluł trochę informacji, ale nie był kompletny. Następnie powiedział: "Nie można znaleźć żadnych przydatnych informacji." –

+0

Rzeczywiście, właśnie to zaktualizowałem. Sprawdź, czy teraz działa? – Derick

+0

Niestety, nie, nadal nie działa. –

4

OK, wiem, że jest to naprawdę stary wątek zombie, ale po uruchomieniu przez tego problemu myself niedawno, okazuje się mieć rozwiązanie trywialne.

PHP.INI wymaga użycia ukośników do przodu dla katalogów, podczas gdy instrukcje podane dla instalacji XDebug w systemie Windows używają odwróconych ukośników. Tak więc dla powyższego pierwotnego problemu, rozwiązanie jest zmiana linii zend_extension jak następuje:

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

Mam nadzieję że to pomoże.

+2

To nie wydaje się być prawdą. Oto mój wpis ini: zend_extension = "C: \ development \ languages ​​\ php5517tsx86 \ ext \ php_xdebug-2.2.5-5.5-vc11.dll" i to działa. –

+0

Ja też mam backslashes i wszystko działa, mój problem polegał na tym, że miałem x86 PHP na systemie x64 i przez pomyłkę korzystałem z X64 Xdebug x64. Pomaga sprawdzać 'phpinfo();' wyjście przez siebie i wybierając x86/x64 i TS/NTS – kit

+0

Mam backslashes i to działa dla mnie, ale nie dla mojego kolegi. Forward-slash nie działa dla niej albo ... – Tech

3

W końcu udało mi się to zrobić. Postępując zgodnie ze wskazówkami na stronie internetowej xdebug, skorzystałem z kreatora i pobrałem plik dll do katalogu "ext". Kreator następnie powiedział mi, aby dodać tę linię do mojego pliku php.ini: zend_extension=ext\php_xdebug-2.3.3-5.6-vc11.dll

To dało mi błąd widać powyżej: Failed loading ext\php_xdebug-2.3.3-5.6-vc11.dll

Próbowałem też zastępując tyłu slash z ukośnikiem, ale nie powiodło się komunikat: Failed loading ext\ext/php_xdebug-2.3.3-5.6-vc11.dll

Patrząc na tej ostatniej wiadomości, pomyślałem, że może katalog rozszerzenie było przyczyną problemów, a ja zobaczyłem, że w moim pliku php.ini była ta linia: extension_dir = "ext"

Więc zmieniłem do używania: zend_extension=php_xdebug-2.3.3-5.6-vc11.dll I działało !!

+0

Dzięki, jest to poprawka potrzebna dla systemu Windows 10. –

0

Miał ten sam problem. Dla mnie potrzebowałem ścieżki bezwzględnej dla zend_extension, w cudzysłowie (ale ukośniki odwrotne są w porządku).

0

Mam Windows 7 64bit i php v5.4.4, ale wersja x-debug, że muszę ściągnąć to:

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

ponieważ IIS nie może pracować z xdebug 64bit

również moje instrukcje 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" 
Powiązane problemy