Wenn Sie mit PHPStorm und xdebug auf Docker stecken bleiben. Fehlerbehebung

Was ist das

In dem Fall, in dem Sie PHPStorm und xdebug auf Docker verknüpfen möchten "Warum kann ich keine Verbindung herstellen ?!" Ich werde es als Hinweis schreiben.

Was ist Xdebug?

Xdebug ist ein leistungsstarkes PHP-Debugging-Tool. Es erleichtert das Erkennen des bekannten "var_dump" beim PHP-Debugging, findet den Bottom-Necked-Prozess und ermöglicht es Ihnen, ihn zu durchlaufen. Ein weiteres Debugging-Tool ist Zend Debugger. 5 Tipps, um Xdebug zu besiegen | Erstellen Sie eine Smartphone-Site-App. Als.

Aktiviere das Logging

Fügen wir xdebug.ini und php.ini Einstellungen hinzu. Nach dem Hinzufügen müssen Sie Nginx und Apache neu starten.

xdebug.remote_log=/tmp/xdebug.log

Das Protokoll wird in /tmp/xdebug.log angezeigt. Lassen Sie uns die Ursache anhand des Inhalts des Ausgabefehlers identifizieren. Wenn Sie googeln, werden verwandte Informationen veröffentlicht. Der Versuch zu kommunizieren, ohne auf die Protokolle zu schauen, ist wie das Betreten eines Berges ohne Karte.

Wird die xdebug-Einstellung überhaupt geladen?

Wenn xdebug nicht funktioniert, auch wenn Sie die xdebug-Einstellungen beschreiben und kein Protokoll vorhanden ist Stellen Sie sicher, dass die Einstellungen in PHP geladen sind. xdebug funktioniert nicht, weil ich vergessen habe, xdebug.so zu laden. Möglicherweise wurden die Einstellungen von einer anderen Datei überschrieben.

Der folgende Befehl gibt den in PHP geladenen Einstellwert aus. Wenn xdebug aktiviert ist, werden einige xdebug-bezogene Einstellungen ausgegeben.

php -r 'phpinfo();' | grep xdebug

Der Teil von | grep xdebug ist eingegrenzt.

Ist die Pfadzuordnung auf PHPStorm festgelegt?

Sie müssen die Zuordnung zwischen dem Dateipfad im Docker und dem Dateipfad auf Ihrem lokalen PC festlegen.

スクリーンショット_2020-08-30_17_18_06.png

Setzen Sie einen Haltepunkt in index.php

Lassen Sie uns einen Haltepunkt setzen, an dem er immer ausgeführt wird, wenn über einen Browser darauf zugegriffen wird. Für Laravel ist es "public / index.php". Jetzt können Sie die Ursache eingrenzen, ob xdebug nicht funktioniert oder der Haltepunkt an der falschen Stelle hinzugefügt wurde.

Ich hoffe, Sie finden das hilfreich.

Referenz

https://qiita.com/haruna-nagayoshi/items/99fa041e884c2c3975d2 https://qiita.com/castaneai/items/d5fdf577a348012ed8af https://qiita.com/taniai-lvgs/items/8e9eba112d2d0ed2530f

Recommended Posts

Wenn Sie mit PHPStorm und xdebug auf Docker stecken bleiben. Fehlerbehebung
symfony / http-kernel mit phpstorm & docker phpunit & xdebug
Wenn Sie Probleme mit JPA oder Hibernate haben, googeln Sie nicht und schauen Sie zuerst hier
Mit Podman im Docker möchte jeder miteinander auskommen und Docker mit einem gemeinsam genutzten Computer verwenden
Bis Sie Quarkus ausführen und Docker-Image auf Amazon ECS ausführen
Elasticsearch> Mit Docker erstellen, Twitter-Informationen abrufen und mit Kibana visualisieren
Bis Ubuntu 20 installiert ist und Docker unter Windows 10 Home und WSL2 ausgeführt wird
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
Was tun, wenn in CircleCI der Fehler zu lang ohne Ausgabe (über 10 m0s) angezeigt wird?