web-dev-qa-db-fra.com

Le code Visual Studio ne s'arrêtera pas au point d'arrêt dans PHP Xdebug

Je suis passé de mon ordinateur portable Thinkpad à HP Elitebook. Je dois définir mon environnement de développement dans mon nouvel ordinateur portable. Après avoir configuré mon code Visual Studio et XAMPP dans Windows 10 Pro 64 bits, je ne peux pas déboguer mon code PHP.

J'ai correctement installé l'extension Xdebug pour Visual Studio Code et je m'assure que le php.ini est correct. Ceci est mon réglage pour php.ini (J'utilise XAMPP portable qui est placé sur E: conduire):

zend_extension = "E:\xampp\php\ext\php_xdebug-2.4.1-5.4-vc9.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_log="E:\xampp\Apache\logs\xdebug.log"

Et mon xdebug.log affiche des informations comme ceci:

Log opened at 2018-10-27 05:56:45
I: Connecting to configured address/port: localhost:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///E:/xampp/htdocs/absen/index.php" language="PHP" xdebug:language_version="5.4.3-dev" protocol_version="1.0" appid="7112" idekey="william"><engine version="2.4.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2016 by Derick Rethans]]></copyright></init>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

Log closed at 2018-10-27 05:56:45

Mais mon code Visual Studio ne s'arrêtera pas au point d'arrêt.

J'ai réinstallé mon code Visual Studio, XAMPP, et en utilisant une autre version de Xdebug mais cela ne fonctionne toujours pas.

J'ai suivi ces liens:

Aucune de ces solutions ne fonctionne.

6
silverknightone

Enfin, je connais la source du problème. Le HP Elitebook a un programme préinstallé nommé HP Velocity, qui utilisait le port 9000.

Le problème est que le port 9000 de mon hôte est lié au port 9000 du logiciel HP Velocity. Lorsque le service HP Velocity se connecte au serveur localhost xdebug, les journaux indiquent que la connexion est correcte, mais il est connecté à HP Velocity.

J'ai changé le port xdebug en 9090 dans php.ini et changé dans launch.json sur le code Visual Studio. Après cela, mon code Visual Studio fonctionne comme d'habitude et peut s'arrêter au point d'arrêt.

J'espère que cela aide les autres :)

6
silverknightone

La raison pourrait être causée par le port de php xdebug. Cela fonctionne très bien pour moi quand j'ai fait cela:

1. utilisez php --ini pour afficher le fichier de configuration php et changer le port xdebug en 9900: xdebug.remote_port=9900 puis redémarrez votre php

2. ouvrez vscode et remplacez le port par le même numéro dans launch.json: "port": 9900

3. profitez de votre débogage

2
lecover

J'ai eu le même problème mais après avoir changé le port en 8000 dans Ubuntu, cela fonctionne pour moi.

0
Ujjal