Frage

Ich habe mit eclipse-pdt in Verbindung mit xdebug und Apache ohne Probleme, für mehr als ein Jahr. Dinge funktionierten einwandfrei und ich konnte all das interaktive Debuggen kann ich aus Eclipse (mit meinem eigenen Rechner als Server).

gesucht

Jetzt wechselte ich von Apache zu nginx (und damit PHP läuft jetzt nicht als Apache-Dienst, sondern als schnell-cgi) und ich kann nicht einen Weg zu konfigurieren Eclipse arbeiten gut mit xdebug finden . Ich bin weder sicher, ob das Problem mit xdebug ist oder mit Eclipse (oder beides) sicher zu sein.

In der Eclipse-Konfiguration, die ich bereits den Verweis auf die PHP-Konfigurationsdatei geändert /etc/php5/cli/php.ini.


Versuche mit php.ini Version 1

Mit der folgenden php.ini Datei

zend_extension=/usr/lib/php5/20060613/xdebug.so
  • Ich sehe, dass xdebug arbeitet (zum Beispiel, wenn ich ein var_dump() kann ich die xdebug Version davon zu bekommen, nicht die Ebene PHP ein)
  • Ich kann die interaktive Debuggen von Eclipse haben: der Browser öffnet sich und lädt die Seite vollständig mit dem typischen URL enthält ...?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=..., aber die Programmausführung stoppt nicht an Haltepunkten
  • In der rechten unteren Ecke von Eclipse Ich sehe eine verdächtige Nachricht: "Launching = put_the_name_of_my_project_here = 57%" , die im Wechsel mit dem "erfrischend Arbeitsplatz" ein.

Versuche mit php.ini Version 2

Wenn ich diese andere Version der Datei (das ist, was es funktioniert, bis ich wechselte nginx):

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req

Ich kann keine Seite meiner Seiten Zugriff auf alle.


PS: Zusätzliche Daten auf meinem Rechner: - OS: GNU / Linux - Ubuntu 9.10 64 Bit. - PHP: 5.2.10-2ubuntu6.3 mit Suhosin-Patch-0.9.7; Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies mit Xdebug v2.0.4 - Eclipse-: siehe Screenshot

.

alt text

War es hilfreich?

Lösung

Was Beau sagte korrekt ist (konnte nicht stimmen, da ich neu bin!).

Im Allgemeinen addging /etc/php5/cgi/php.ini (oder php.ini finden) die Zeilen wie

zend_extension = /PATH_TO/xdebug.so   ## <-- NOTE the absolute path, not relational (For ex on Windows: "C:\nginx-1.9.13\php\ext\php_xdebug-2.6.0RC2-7.0-vc14-nts.dll")
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_port = 9900        ## <-- Yours will be probly 9000 or other..

hat den Zweck erfüllt.

So nach dem Wechsel,

./php-fastcgi stop
./php-fastcgi start

Das funktioniert für mich.

Andere Tipps

xdebug und FastCGI verwenden den gleichen Standard-Port (9000). Ändern Sie den Hafen von XDebug in der php.ini-Datei wie folgt:

xdebug.remote_port=9001

und IDE-Einstellungen aktualisieren 9001 zu verwenden.

Versuchen Sie, Ihre PHP neu zu starten. Weil Sie php-fastcgi haben, nginx Neustart scheint nicht, es zu tun. Wenn ich meinen ganzen Server die Änderung in Kraft getretene neu gestartet wird.

Ich hatte das gleiche Problem und es gelöst.
In der Datei /etc/php5/apache2/php.ini add:

[xdebug] xdebug.remote_enable=On
xdebug.remote_autostart=off
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req


In der Datei /etc/php5/cli/php.ini add:

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=off
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req


Starten Sie Apache neu:

sudo service apache2 restart

Problem in Lösung ist " xdebug.remote_autostart = auf ". Wenn Sie in der Datei config " xdebug.remote_autostart = auf " gesetzt. Dies wird Xdebug zwingen, eine Debug-Sitzung für jede Anfrage zu starten, die auf diesem Server ausgeführt wird, ohne in der Anforderung angeben zu müssen, dass eine Debug-Sitzung gesucht.

Sie müssen ändern

  

" xdebug.remote_autostart = off "

Und Web-Dienst neu starten. In diesem Beispiel ist Apache.

Sie können mehr hier lesen: http://doc.waterproof.fr/phpedit / debugging_profiling / configuration / debugger_with_xdebug

GoodLuck!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top