Wie kann ich einen REST-Client (wie den in PHPStorm oder POSTman integrierten ) dazu bringen, mit XDebug zu arbeiten?
In meiner aktuellen XDebug-Konfiguration kann ich PHPStorm und das Lesezeichen verwenden, sofern ich es sowohl in Chrome als auch in Firefox zum Laufen bringen kann. Sobald ich es jedoch mit POSTman oder einem anderen REST-Client versuche, kann ich nicht herausfinden, wie um es in Gang zu bringen.
Prost.
xdebug.remote_autostart = 1
) oder prüfen Sie, ob das Hinzufügen des Startparameters xdebug-Sitzung (XDEBUG_SESSION_START={{name}}
) zur URL hilfreich ist: xdebug.org/docs/remote . Oder Sie können das xdebug-Cookie als einen der Header übergeben (der beispielsweise durch das Lesezeichen festgelegt wird). Davon?XDEBUG_SESSION_START=PHPSTORM
am Ende der URL ist jedoch ein Vergnügen. (eine etwas chaotische Lösung, aber eine, die funktioniert)Antworten:
Bis http://youtrack.jetbrains.com/issue/WI-17031 implementiert ist, können Sie einen der folgenden Ansätze ausprobieren:
Konfigurieren Sie Ihren xdebug (indem Sie php.ini bearbeiten) so, dass versucht wird, jedes PHP-Skript zu debuggen (
xdebug.remote_autostart = 1
)Fügen Sie der tatsächlichen URL (
XDEBUG_SESSION_START={{KEY}}
- http://xdebug.org/docs/remote ) den Startparameter für die xdebug-Sitzung hinzu , zum Beispiel:?XDEBUG_SESSION_START=PHPSTORM
Übergeben Sie das xdebug-Cookie als einen der Header (der beispielsweise durch das Lesezeichen oder die Browsererweiterung festgelegt wird).
Damit dies funktioniert, stellen Sie sicher, dass das Symbol "Telefongriff"
Run | Start Listen for PHP Debug Connection
im Voraus aktiviert ist ( ).quelle
Das hat mich verrückt gemacht. Ich habe gerade auf PHP 7.1 aktualisiert und xdebug, das funktionierte, funktionierte nicht mehr. Ich habe die
xdebug.so
Datei (Linux) aktualisiert undphp --version
angegeben, dass xdebug tatsächlich geladen wurde und funktioniert. Aber wenn ich Postman benutzen würde, würde der Debugger nie losgehen.Hier ist die Lösung. Wenn Sie Apache als Server verwenden, müssen Sie die PHP 7.1-Mods aktivieren und Apache neu starten:
sudo service apache2 restart
quelle
valet stop
undvalet start
hat den Trick.Hat für mich gearbeitet. Da mein Mac sehr langsam war und der Remote-Debugger nach 200 ms abgelaufen war (Standardwert)
quelle
https://github.com/tacnoman/dephpugger Diese Bibliothek führt den Debugger im Terminal aus (wie ipdb für Python und Byebug für Ruby). Ist sehr einfach zu bedienen und es gibt ein Beispiel, wie man PHP-CLI-Skripte und Webserver ausführt.
quelle