Comment déboguer du code PHP dans du code Visual Studio dans les services de XAMPP?
Tout d'abord, j'ai allumé XAMPP et démarré les services suivants:
Au fait, la version PHP est 7.3.3. Ensuite, j'ai vérifié phpinfo()
dans le navigateur. Voici une capture d'écran :
Et je suis allé xdebug.org pour télécharger cette version de Xdebug :
Lorsque j'ai copié ce fichier dans C:xamppphpext
, j'ai trouvé qu'il y avait un fichier nommé php_xdebug.dll
. Peu importe, j'ai toujours appelé le fichier Xdebug dans le chemin sans son nom changé (php_xdebug-2.7.2-7.3-vc15-x86_64.dll
).
Ensuite, j'ai copié un morceau de code dans php.ini
à partir d'un article sur Internet:
zend_extension = "C:xamppphpextphp_xdebug-2.7.2-7.3-vc15-x86_64.dll"
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
Mais je ne pouvais pas comprendre pourquoi le port était 9000 et le port ne fonctionnait pas du tout. J'ai entré localhost:9000
dans la barre d'adresse de Chrome et la page de résultats montre que localhost a rejeté ma demande de connexion.
Cependant, j'ai quand même continué. J'ai installé l'extension "PHP Debug" dans le code VS. L'extension launch.json
est affichée ci-dessous :
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
Enfin, j'ai créé un nouveau fichier PHP et débogué. Lorsque j'ai ouvert le fichier dans le navigateur, le programme de débogage n'a pas fonctionné. Alors, pourriez-vous me dire où se trouve le problème et me montrer les étapes de débogage exactes?
Mise à jour: Enfin, j'ai trouvé le problème, le numéro de port 9000 est occupé! J'ai donc tapé 'netstat-ano' dans cmd et trouvé le port 9000 et la valeur PID correspondante. entrez la description de l'image ici Puis tapez 'taskkill/PID 4380/F' pour tuer le processus qui occupe le port. Enfin, redémarrez les services PHP. Ainsi, ce problème a été résolu. Mais rappelez-vous, assurez-vous d'installer la bonne version de xdebug, que vous pouvez afficher dans phpinfo() de XAMPP. Merci aux amis de la zone de commentaires pour votre aide.