Xdebug Konfiguration mit PHP fastcgi und eclipse?

8

Ich habe Eclipse-PDT in Verbindung mit Xdebug und Apache seit über einem Jahr ohne Probleme verwendet. Die Dinge funktionierten einwandfrei und ich konnte das gesamte interaktive Debugging durchführen, das ich von Eclipse wollte (indem ich meine eigene Maschine als Server benutzte).

Jetzt habe ich von Apache zu nginx gewechselt (und deshalb läuft PHP jetzt nicht als Apache-Dienst, sondern als fast-cgi) und ich finde keine Möglichkeit, eclipse so zu konfigurieren, dass es mit xdebug gut funktioniert . Ich bin mir nicht sicher, ob das Problem mit xdebug oder mit Eclipse (oder beiden) ist, um sicher zu sein.

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

Versuche mit php.ini Version 1

Mit der folgenden php.ini -Datei

%Vor%
  • Ich sehe, dass xdebug funktioniert (wenn ich zum Beispiel ein var_dump() mache, bekomme ich die xdebug-Version, nicht die einfache PHP-Version)
  • Ich kann das interaktive Debugging von Eclipse nicht durchführen: Der Browser öffnet sich und lädt die Seite komplett mit der typischen URL, die ...?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=... enthält, aber die Programmausführung stoppt nicht an den Breakpoints
  • In der unteren rechten Ecke der Eclipse sehe ich eine verdächtige Nachricht: "Launching = put_the_name_of_my_project_here =: 57%" das sich mit dem "erfrischenden Arbeitsbereich" abl \ u00e4sst.

Versuche mit php.ini Version 2

Wenn ich diese andere Version der Datei verwende (was genau so funktionierte, bis ich zu nginx wechselte):

%Vor%

Ich kann auf keine Seite meiner Websites zugreifen.

PS: Zusätzliche Daten auf meinem Rechner: - Betriebssystem: 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.

    
mac 08.12.2009, 17:34
quelle

5 Antworten

7

Was Beau gesagt hat, ist richtig (konnte nicht stimmen, seit ich neu bin!).

Im Allgemeinen fügen Sie zu /etc/php5/cgi/php.ini (oder suchen Sie php.ini) die Zeilen wie

hinzu %Vor%

erledigt den Job.

Also nach der Änderung,

%Vor%

Das hat für mich funktioniert.

    
valk 23.07.2010, 22:57
quelle
14

xdebug und FastCGI verwenden denselben Standardport (9000). Ändern Sie den Port von XDebug in Ihrer php.ini-Datei wie folgt:

%Vor%

und aktualisieren Sie Ihre IDE-Einstellungen für die Verwendung von 9001.

    
Maxence 25.07.2011 10:45
quelle
2

Versuche, deinen PHP neu zu starten. Da Sie php-fastcgi haben, scheint nginx das nicht neu zu starten. Als ich meinen gesamten Server neu gestartet habe, wurde die Änderung wirksam.

    
Beau 14.03.2010 02:03
quelle
1

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

%Vor%


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

%Vor%


Starten Sie Apache neu:

%Vor%     
protect4you 15.12.2009 08:51
quelle
0

Problem in der Lösung ist " xdebug.remote_autostart = on ". Wenn Sie in der Datei config " xdebug.remote_autostart = on " festlegen. Dadurch wird Xdebug gezwungen, eine Debugsitzung für jede Anfrage auf diesem Server zu starten, ohne dass in der Anfrage angegeben werden muss, dass eine Debugsitzung gewünscht wird.

Sie müssen ändern

  

" xdebug.remote_autostart = aus "

Und starten Sie den Web-Service neu. In diesem Beispiel ist Apache.

Sie können hier mehr lesen: Ссылка

GoodLuck!

    
protect4you 22.12.2009 09:33
quelle