In der folgenden Tutorial-Kolumne von phpstorm erfahren Sie, wie Sie PHP-Projekte in Docker mit PHPStorm debuggen. Ich hoffe, dass es für Freunde hilfreich ist, die es benötigen!
Diese Maschine wurde mit Docker entwickelt. Für diejenigen, die an das Debuggen gewöhnt sind, stellt die Platzierung von PHP in einem Docker-Container einen weiteren Schwierigkeitsgrad dar.
Das gilt natürlich nur, wenn Sie nicht wissen, wie man es konfiguriert. Sobald Sie den Trick beherrschen, ist es eigentlich eine einfache Sache, und es gibt fast keinen Unterschied im Schwierigkeitsgrad zur lokalen Konfiguration.
Bevor wir beginnen, machen wir einige Annahmen zur Umgebung:
/Users/gary/dnmp/www/localhost
/Users/gary/dnmp/www/localhost
/var/www/html/localhost
localhost
,并在主机hosts和nginx配置中绑定9000
端口与nginx容器/应用连接这里的域名不一定是localhost
,如果你用了Laravel、Yii、Thinkphp等框架,那一般会用类似 mydev.com
、dev.awaimai.com
、awaimai.dev
的域名,本文一样适用。
主要配置如下:
[XDebug] xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = host.docker.internal
这几行的作用是:
dggp
host.docker.internal
,也就是docker容器所在的主机。如果主机是Linux系统,host.docker.internal
可能用不了,需要改用PHP容器和主机同一虚拟网络下的IP,在主机中用docker network inspect dnmp_default
命令可找到,其中dnmp_default
是容器的所在的网络。这里我们没有配置xdebug.remote_port
,因为xdebug默认使用9000
,与我们FPM一致了,不用再设置。如果FPM使用其他端口,remote_port
也要改成相应端口。
配置完成后,重启PHP容器。
1 菜单选择 Run – Edit Configurations,
2 在弹出的框中点左上角的 +
号,选择 PHP Web Page
。
3 现在还没有任何的服务器,我们要加一个。如下,点击 server 右侧的 ...
按钮。
4 然后就是配置服务器的信息,这里就是docker容器了。
localhost
,如果你的域名类似awaimai.dev
,那就填awaimai.dev
。80
端口,所以这里保留默认80
。勾选
,然后填写本地代码与容器代码的映射关系。如果用的是框架,这里就填框架的根目录。然后点击OK保存。
5 返回后,
Index
。localhost
。/
表示首页,如果是其他页面,比如/home/index
,那就填/home/index
。点击OK
/var/www/html/localhost
🎜🎜Das Projekt verwendet den Domänennamen localhost code> und binden Sie ihn in die Host-Hosts und die Nginx-Konfiguration🎜🎜PHP-FPM verbindet sich über den <code>9000
-Port🎜 mit dem Nginx-Container/der Nginx-Anwendung 🎜Der Domainname hier ist nicht unbedingt localhost
. Wenn Sie Laravel, Yii, Thinkphp und andere Frameworks verwenden, verwenden Sie im Allgemeinen etwas wie mydev.com
, dev .awaimai.com
, awaimai Dieser Artikel gilt auch für .dev
-Domänennamen. 🎜🎜2 php.ini-Konfiguration 🎜🎜🎜Die Hauptkonfiguration ist wie folgt: 🎜rrreee🎜Die Funktionen dieser Zeilen sind: 🎜🎜🎜🎜Aktivieren Sie 🎜xdebug Remote-Debugging🎜🎜Verwenden Sie dggp zum Debuggen
🎜🎜Die Remote-Adresse verwendet host.docker.internal
, den Host, auf dem sich der Docker-Container befindet. Wenn es sich bei dem Host um ein Linux-System handelt, darf host.docker.internal
nicht verwendet werden. Sie müssen die IP im selben virtuellen Netzwerk des PHP-Containers und des Hosts verwenden inspect dnmp_defaultim Host >-Befehl zu finden, wobei dnmp_default
das Netzwerk ist, in dem sich der Container befindet. 🎜🎜Wir haben xdebug.remote_port
hier nicht konfiguriert, da xdebug standardmäßig 9000
verwendet, was mit unserem FPM übereinstimmt und keine Einstellung erforderlich ist es wieder hoch. Wenn FPM andere Ports verwendet, muss auch remote_port
auf den entsprechenden Port geändert werden. 🎜🎜Nachdem die Konfiguration abgeschlossen ist, 🎜starten Sie den PHP-Container neu🎜. 🎜🎜2 PHPStorm-Konfiguration 🎜🎜🎜1 Menüauswahl 🎜Ausführen🎜 – 🎜Konfigurationen bearbeiten🎜, 🎜🎜2 im Popup Klicken Sie auf das +
-Zeichen in der oberen linken Ecke und wählen Sie PHP-Webseite
. 🎜🎜3 Es gibt noch keinen Server, wir müssen einen hinzufügen. Klicken Sie wie unten gezeigt auf die Schaltfläche ...
auf der rechten Seite des Servers. 🎜🎜4 Dann gibt es die Informationen zum Konfigurieren des Servers, hier ist der Docker-Container. 🎜🎜🎜🎜Name: 🎜Servername, Sie können schreiben, was Sie wollen. 🎜🎜🎜Host: 🎜Domainname, hier verwende ich localhost
, wenn Ihr Domainname awaimai.dev
ähnelt, dann geben Sie awaimai.dev ein Code>. 🎜🎜🎜Port: 🎜Der Port für die Verbindung zum Server. Hier stellen wir über Nginx eine Verbindung zu PHP her und verwenden dabei den <code>80
-Port, sodass der Standardwert 80
hier beibehalten wird. 🎜🎜🎜Debugger: 🎜Verwenden Sie Xdebug. 🎜🎜🎜Pfadzuordnungen verwenden🎜: Hier 🎜muss🎜 aktiviert
sein und dann die Zuordnungsbeziehung zwischen lokalem Code und Containercode ausfüllen. Wenn Sie ein Framework verwenden, geben Sie hier das Stammverzeichnis des Frameworks ein. 🎜🎜 Klicken Sie dann zum Speichern auf OK. 🎜🎜5 Nach der Rückkehr 🎜🎜🎜🎜Name: 🎜Geben Sie einen Konfigurationsnamen ein, füllen Sie ihn beiläufig aus, hier debuggen wir die Homepage, füllen Sie Index
aus. 🎜🎜🎜Server: 🎜Ziehen Sie nach unten, um den Server auszuwählen. Hier wählen wir den neu hinzugefügten localhost
. 🎜🎜🎜Start-URL: 🎜Die Seite, auf der mit dem Debuggen begonnen werden soll. /
bedeutet die Startseite. Wenn es sich um eine andere Seite handelt, z. B. /home/index
, geben Sie /home /index. 🎜🎜Klicken Sie zum Speichern auf OK
. 🎜Kehren Sie zum Codefenster zurück, setzen Sie einen [Haltepunkt] vor den Code und klicken Sie dann wie folgt auf die [Debug-Schaltfläche]:
PHPStorm wird automatisch geöffnet Öffnen Sie den Browser und warten Sie auf das Programm. Wenn die Ausführung den Haltepunkt erreicht, wird sie automatisch gestoppt.
Hier können wir die globalen Variablen, den Aufrufstapel und die temporären Variablen in PHP sehen,
und können das Debuggen in einem Schritt durchführen, was sehr praktisch ist.
Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen Schritt für Schritt bei, wie Sie PHP-Projekte in Docker mit phpstorm debuggen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!