如何使用VSCode / PHP XDebug / PHP Debug Extension正确设置VSCode和Wampserver以在断点行上进行调试和暂停?

如何解决如何使用VSCode / PHP XDebug / PHP Debug Extension正确设置VSCode和Wampserver以在断点行上进行调试和暂停?

我需要做些什么来解决此问题,从而阻止我使用php上的xdebug扩展以及VS Code上的PHP Debug Extension v 1.13.0(由Felix Becker进行)对VSCode 1.51.0进行调试?

httpd.conf

# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 81

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information,visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0","configurations": [
        {
            "name": "Listen for XDebug",// Change back to php
            "type": "php","request": "launch","hostname": "localhost","port": 81,"log": true,// Deprecated 
            // "localSourceRoot": "/var/www/html/mysite",// "serverSourceRoot": "/var/www/html/mysite",// server -> local
            "stopOnEntry": true,// "cwd": "${fileDirname}"
        },{
            "type": "pwa-chrome","name": "Launch Chrome against localhost","url": "http://portaldev/","webRoot": "${workspaceFolder}"
        }
    ]
}

Visual Studio控制台错误-以管理员身份运行

  <- outputEvent
    OutputEvent {
      seq: 0,type: 'event',event: 'output',body: {
        category: 'console',output: 'Error: listen EACCES: permission denied 127.0.0.1:81\n' +
          '    at Server.setupListenHandle [as _listen2] (net.js:1289:21)\n' +
          '    at listenInCluster (net.js:1354:12)\n' +
          '    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1493:7)\n' +
          '    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:65:10) {\n' +
          "  code: 'EACCES',\n" +
          "  errno: 'EACCES',\n" +
          "  syscall: 'listen',\n" +
          "  address: '127.0.0.1',\n" +
          '  port: 81\n' +
          '}\n'
      }
    }
    Error: listen EACCES: permission denied 127.0.0.1:81
        at Server.setupListenHandle [as _listen2] (net.js:1289:21)
        at listenInCluster (net.js:1354:12)
        at GetAddrInfoReqWrap.doListen [as callback] (net.js:1493:7)
        at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:65:10) {
      code: 'EACCES',errno: 'EACCES',syscall: 'listen',address: '127.0.0.1',port: 81
    }
    <- launchResponse
    Response {
      seq: 0,type: 'response',request_seq: 2,command: 'launch',success: false,message: 'listen EACCES: permission denied 127.0.0.1:81',body: {
        error: {
          id: 0,format: 'listen EACCES: permission denied 127.0.0.1:81',showUser: true
        }
      }
    }

Wampserver配置设置 httpd-vhosts.conf

# Virtual Hosts
#
<VirtualHost *:81>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www"
  <Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>


#
<VirtualHost *:81>
    ServerName portaldev
    DocumentRoot "c:/wamp64/www/portaldev"
    <Directory  "c:/wamp64/www/portaldev/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

#
<VirtualHost *:81>
    ServerName portallive
    DocumentRoot "c:/wamp64/www/liveportal"
    <Directory  "c:/wamp64/www/liveportal/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

解决方法

我解决了问题,并使我的应用程序停止在应用程序中的指定断点处。

在注意到原始问题的第一条评论中的建议之后,我将 php.ini 中的XDebug 广播端口更改为 9000 ,并将我的启动配置json 文件设置并设置为项目目录中的监听 9000 ,并设置我的 php.ini > xdebug.remote_port = "9000"xdebug.remote_mode = "req"。然后在 httpd.conf 中将我的监听端口设置为 80 ,将所有虚拟主机端口设置为 80 在 httpd-vhosts.conf 中。

启动浏览器后,我进入VS Code,单击并单击(运行,然后调试(或按 F5 ),IDE会停止在最初设置的断点处(这是通过单击源代码行号的左侧并观察显示为断点的红色圆圈或点来完成的)

浅灰色但空心的圆圈,浅红色或粉红色的圆圈不是测试调试的正确断点。

httpd.conf

# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80     <------------- Changed to 80 instead of 81

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information,visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0","configurations": [ 
        {
            "name": "Listen For XDebug","type": "php","port": 9000,<----- Modified to default XDebug port 9000
            "request": "launch","pathMappings": {
                "c:/wamp64/www/portaldev/": "${workspaceFolder}"
            }
        }
    ]
}

httpd-vhosts.conf

# Virtual Hosts

<VirtualHost *:80>    <------ Set to port 80
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www"
  <Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>


#
<VirtualHost *:80>   <------ Set to port 80
    ServerName portaldev
    DocumentRoot "c:/wamp64/www/portaldev"
    <Directory  "c:/wamp64/www/portaldev/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

#
<VirtualHost *:80>    <------ Set to port 80
    ServerName portallive
    DocumentRoot "c:/wamp64/www/liveportal"
    <Directory  "c:/wamp64/www/liveportal/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

php.ini

; XDEBUG Extension
[xdebug]
zend_extension="c:/wamp64/bin/php/php7.3.12/ext/php_xdebug-2.9.8-7.3-vc15-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_mode = "req"         <------ Added to make the setup work
xdebug.remote_port = "9000"        <------ Set to 9000
xdebug.remote_log = "c:/wamp64/tmp/log"
xdebug.show_local_vars=0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res