Maison > Article > outils de développement > Apprenez étape par étape à déboguer des projets PHP dans Docker avec phpstorm
La colonne tutorielle suivante de phpstorm vous présentera comment déboguer des projets PHP dans Docker avec PHPStorm. J'espère qu'elle sera utile aux amis qui en ont besoin !
Cette machine a été développée à l'aide de Docker. Pour ceux qui sont habitués au débogage, placer PHP dans un conteneur Docker ajoute un autre niveau de difficulté.
Bien sûr, cela ne s'applique que lorsque vous ne savez pas encore comment le configurer. Une fois que vous avez compris, c'est en fait une chose simple, avec presque aucune différence de difficulté par rapport à la configuration locale.
Avant de commencer, faisons quelques hypothèses environnementales :
/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
🎜🎜Le projet utilise le nom de domaine localhost code>, et liez-le dans les hôtes hôtes et la configuration nginx🎜🎜PHP-FPM se connecte au conteneur/application nginx via le port <code>9000
🎜 🎜Le nom de domaine ici n'est pas nécessairement localhost
, si vous utilisez Laravel, Yii, Thinkphp et d'autres frameworks, vous utiliserez généralement quelque chose comme mydev.com
, dev .awaimai.com
, awaimai Cet article s'applique également aux noms de domaine .dev
. 🎜🎜2 configuration php.ini 🎜🎜🎜La configuration principale est la suivante : 🎜rrreee🎜Les fonctions de ces lignes sont : 🎜🎜🎜🎜Enable 🎜xdebug débogage à distance🎜🎜Utiliser dggp pour le débogage
🎜🎜L'adresse distante utilise host.docker.internal
, qui est l'hôte sur lequel se trouve le conteneur Docker. Si l'hôte est un système Linux, host.docker.internal
ne peut pas être utilisé. Vous devez utiliser l'adresse IP sous le même réseau virtuel du conteneur PHP et de l'hôte. Utilisez docker network. inspect dnmp_default
dans la commande host. > peut être trouvée, où dnmp_default
est le réseau où se trouve le conteneur. 🎜🎜Nous n'avons pas configuré xdebug.remote_port
ici, car xdebug utilise 9000
par défaut, ce qui est cohérent avec notre FPM, et il n'est pas nécessaire de définir ça recommence. Si FPM utilise d'autres ports, remote_port
doit également être remplacé par le port correspondant. 🎜🎜Une fois la configuration terminée, 🎜redémarrez le conteneur PHP🎜. 🎜🎜2 Configuration PHPStorm 🎜🎜🎜1 Sélection du menu 🎜Exécuter🎜 – 🎜Modifier les configurations🎜, 🎜🎜2 dans la pop-up box Cliquez sur le signe +
dans le coin supérieur gauche et sélectionnez Page Web PHP
. 🎜🎜3 Il n'y a pas encore de serveur, nous devons en ajouter un. Comme indiqué ci-dessous, cliquez sur le bouton ...
sur le côté droit du serveur. 🎜🎜4 Ensuite il y a les informations pour configurer le serveur, voici le conteneur docker. 🎜🎜🎜🎜Nom : 🎜Nom du serveur, vous pouvez écrire ce que vous voulez. 🎜🎜🎜Hôte : 🎜Nom de domaine, ici j'utilise localhost
, si votre nom de domaine est similaire à awaimai.dev
, alors remplissez awaimai.dev code>. 🎜🎜🎜Port : 🎜Le port pour se connecter au serveur. Ici, nous nous connectons à PHP via nginx, en utilisant le port <code>80
, donc le 80
par défaut est conservé ici. 🎜🎜🎜Débogueur : 🎜Utilisez Xdebug. 🎜🎜🎜Utiliser les mappages de chemins🎜 : ici 🎜doit🎜 être coché
, puis remplir la relation de mappage entre le code local et le code du conteneur. Si vous utilisez un framework, remplissez ici le répertoire racine du framework. 🎜🎜 Cliquez ensuite sur OK pour enregistrer. 🎜🎜5 Après le retour, 🎜🎜🎜🎜Nom : 🎜Remplissez un nom de configuration, remplissez-le avec désinvolture, ici nous débogueons la page d'accueil, remplissons Index
. 🎜🎜🎜Serveur : 🎜Déroulez vers le bas pour sélectionner le serveur. Ici, nous choisissons le localhost
nouvellement ajouté. 🎜🎜🎜URL de démarrage : 🎜La page pour démarrer le débogage, /
signifie la page d'accueil, s'il s'agit d'une autre page, comme /home/index
, alors remplissez /home /index. 🎜🎜Cliquez sur OK
pour enregistrer. 🎜Retournez à la fenêtre de code, placez un [point d'arrêt] devant le code, puis cliquez sur le [bouton Debug], comme suit :
PHPStorm s'ouvrira automatiquement le navigateur et attendez le programme. Lorsque l'exécution atteint le point d'arrêt, elle s'arrête automatiquement.
Ici, nous pouvons voir les variables globales, la pile d'appels et les variables temporaires en PHP,
et pouvons déboguer en une seule étape, ce qui est très pratique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!