Si vous êtes bloqué avec PHPStorm et xdebug sur docker. dépannage

Qu'est-ce que c'est

Dans le cas où vous souhaitez lier PHPStorm et xdebug sur docker "Pourquoi je ne peux pas me connecter?!" Je vais l'écrire comme un indice.

Qu'est-ce que Xdebug?

Xdebug est un puissant outil de débogage PHP. Il rend le "var_dump" familier plus facile à voir dans le débogage PHP, trouve le processus de base et vous permet de le parcourir. Un autre outil de débogage est Zend Debugger. 5 conseils pour vaincre Xdebug | Créez une application de site pour smartphone. Que.

Activer la journalisation

Ajoutons des paramètres à xdebug.ini et php.ini. Après l'avoir ajouté, vous devez redémarrer nginx et apache.

xdebug.remote_log=/tmp/xdebug.log

Le journal sera affiché dans /tmp/xdebug.log. Identifions la cause en examinant le contenu de l'erreur de sortie. Si vous google, des informations connexes sortiront. Essayer de communiquer sans regarder les journaux, c'est comme entrer dans une montagne sans carte.

Le paramètre xdebug est-il chargé en premier lieu?

Si xdebug ne fonctionne pas même si vous décrivez les paramètres de xdebug et qu'il n'y a pas de journal Assurez-vous que les paramètres sont chargés en php. xdebug ne fonctionne pas car j'ai oublié de charger xdebug.so, Il est possible que les paramètres aient été écrasés par un autre fichier.

La commande suivante génère la valeur de paramètre chargée en php. Si xdebug est activé, certains paramètres liés à xdebug seront affichés.

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

La partie de | grep xdebug est réduite.

Le mappage de chemin est-il défini sur PHPStorm?

Vous devez définir le mappage entre le chemin du fichier sur le docker et le chemin du fichier sur votre PC local.

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

Définir un point d'arrêt dans index.php

Mettons un point d'arrêt où il s'exécute toujours lorsqu'il est accédé à partir d'un navigateur. Pour laravel, il s'agit de public / index.php. Vous pouvez maintenant isoler la cause, que xdebug ne fonctionne pas ou que le point d'arrêt soit ajouté au mauvais endroit.

J'espère que ça t'as aidé.

référence

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

Recommended Posts

Si vous êtes bloqué avec PHPStorm et xdebug sur docker. dépannage
symfony / http-kernel avec phpstorm & docker phpunit & xdebug
Si vous rencontrez des problèmes avec JPA ou Hibernate, ne cherchez pas sur Google et regardez d'abord ici
Avec podman dans docker, tout le monde veut s'entendre et utiliser docker avec un ordinateur partagé
Jusqu'à ce que vous exécutiez Quarkus et que vous exécutiez l'image docker sur Amazon ECS
Elasticsearch> Construisez avec docker, obtenez des informations Twitter et visualisez avec Kibana
Jusqu'à ce qu'Ubuntu 20 soit installé et que Docker fonctionne sur Windows 10 Home et WSL2
Que faire si vous vous fâchez contre OpenSSL avec Pyenv Install
[Rails] Que faire si vous ne pouvez pas obtenir de paramètres avec form_with
Que faire si vous obtenez l'erreur Trop long sans sortie (dépassé 10m0s) dans CircleCI