对于简单的项目或仅仅想知道某一位置的某个变量是什么值,直接使用var_dump配置exit来打印和中断就可以了,方便又快捷,

而对于大型项目的调试,或想了解某个系统的整个运行过程,xdebug可能会是更好的选择。

网上大多数xdebug教程中的项目代码和运行环境是配置在本地,IDE也是在本地,

而我所使用的环境是运行于远程服务器中,所以xdebug配置起来稍有不同。

环境介绍:
本地:win10 + vscode
远程:CentOS + LNMP + xdebug

即PHP的运行环境在远程服务器中,项目代码放在本地,使用nfs共享映射到虚拟机中运行。

1.ssh到虚拟机,检查并安装php的xdebug扩展

2.配置php.ini中的xdebug

zend_extension=xdebug.so
[XDebug]
xdebug.remote_enable = on
xdebug.remote_autostart = 1
;xdebug.remote_host = 192.168.10.1
xdebug.remote_port = 9000
xdebug.remote_connect_back = 1
xdebug.auto_trace = 1
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.remote_log = /tmp/xdebug.log

“remote_enable”是允许远程调试
“remote_autostart”远程调试自动启动?
“remote_host”是指定通过哪个IP进行远程调试,也就是你IDE所在的IP(这里是192.168.10.1即是我本地,但当下面remote_connect_back设置了时,这个IP设置无效,所以我注释了),
“remote_port”是在vscode中设置的监听端口,是本地的端口哦~ 即当开始调试时,xdebug将与这个端口通讯
“remote_connect_back”不知道是什么意思,只是如果开启此,将忽略上面的 xdebug.remote_host 的设置
其它的可自行搜索xdebug配置说明。

3. 重启php-fpm,或web环境

4.vscode中安装插件”PHP Debug”

5.配置launch.json

{"name": "Listen for XDebug","type": "php","request": "launch","stopOnEntry":false,"localSourceRoot": "Z://php_project/","serverSourceRoot": "/home/ryan/php_project/","port": 9000
},
{"name": "Launch currently open script","type": "php","request": "launch","program": "${file}","cwd": "${fileDirname}","port": 9000
}

以上,其中”localSourceRoot”是项目代码在本地的路径,设置的值是当前工作区根目录,也就是我项目根目录。

”serverSourceRoot”是远程虚拟机中的代码路径,”port”是本地IDE在debug时会监听的端口,远程xdebug与vscode通信时就是使用这个端口。

以上设置完毕后就可以开始断点调试!!!

参考链接:

https://www.zh30.com/vscode-xdebug-remote-vagrant-php.html

转载于:https://www.cnblogs.com/ryanzheng/p/10575790.html

PHP vscode+XDebug 远程断点调试服务器上的代码相关推荐

  1. 禅道 my.php debug,PHP vscode+XDebug 远程断点调试服务器上的代码

    参考链接 断断续续做php五年了,前期只在开发机器上debug,中期从不debug,有什么问题var_dump一下,现在遇到一个fpdf的问题,无奈必须debug服务器. 我只是记录一下自己遇到的问题 ...

  2. 【调试】——idea远程调试服务器上的代码

    前提 有些时候难免会出现一些线上问题,可能就需要远程调试服务器上的代码,依次快速定位错误代码,进行改正.小编最近通过idea进行了远程代码调试,特此记录一下,希望可以帮需要的朋友. 步骤 1.保证本机 ...

  3. pycharm远程连接服务器,并单步调试服务器上的代码

    每天都有不同的朋友来Push我 那如果比较健忘的话,为啥不问一下chatGPT呢 问题的缘由在我想在本地单步调试代码... 我的代码完全在云端服务器的,还有数据集都是,但实际上本地代码可以通过pych ...

  4. phpstorm + xdebug 远程断点调试

    CentOS(Linux)下安装Xdebug Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况,本文主要记录一下在centos(li ...

  5. 服务器跑python程序_远程编写+调试服务器上的Python程序

    原帖参见(需自备梯子):https://webcache.googleusercontent.com/search?q=cache:1htdR2EXj5wJ:https://www.digitaloc ...

  6. 调试远程服务器上的代码时报错:调试设置中的Python路径无效

    错误 当在本地调试远程服务器上的代码时,报错: 调试设置中的Python路径无效 踩坑 根据提示去launch.json文件里 以为是"python": "${comma ...

  7. IDEA 远程断点调试

    IDEA 远程断点调试 有时候,有些bug无法在本地环境复现,此时就需要我们去线上的机器远程debug,可以采用idea Remove JVM Debug模式. 首先,点击Edit Configura ...

  8. idea远程断点调试

    在idea里面配置远程断点调试 192.168.198.130 是远程服务端口,5005是远程服务连接端口 在linux启动在线服务, 在启动服务里面加入参数 -Xdebug -agentlib:jd ...

  9. IDEA远程断点调试jar包

    今天做项目时碰到一个问题,线上服务报错,本地环境却没问题,此时就需要我们去线上的机器远程debug,可以采用idea Remove JVM Debug模式. 步骤 第一步:点击Edit Configu ...

最新文章

  1. hdu 4059 The Boss on Mars
  2. leetcode --Minimum Depth of Binary Tree
  3. 限量席位!网易 MCtalk 泛娱乐社交产品专场沙龙报名倒计时
  4. PHP面试题:请以空格作为间隔,拆分字符串’Apple Orange Banana Strawberry’,组成数组$fruit,
  5. 1、Canvas的基本用法
  6. TCP之三次握手和四次挥手过程
  7. 错误:将字符串分配给C中的char变量| 常见的C程序错误
  8. 开发指南专题九:JEECG微云快速开发平台-表单校验组件ValidForm
  9. c如何接收java指令_java指令和javac指令总结
  10. 【Redis】Redis 基础知识 常用命令 命令积累
  11. Android—— Fragment 真正的完全解析(上)(转)
  12. python类的多态_8.python之面相对象part.6(python类中的多态与多态性)
  13. android 蓝牙编程重点---如何发送和接收16进制数据
  14. 自建服务器解网络锁,跟断刀学越狱】10分钟掌握iPhone1-4代刷机技巧
  15. wangEditor 富文本框
  16. hotmail邮箱设置
  17. mac u盘linux 双系统安装教程,U盘安装MAC双系统的方法
  18. Clock skew too great
  19. 大数据开发学习:进行大数据开发课程有哪些
  20. php+flash头像上传组件

热门文章

  1. SQL 语句(原生)
  2. GNU-Radio USRP Example
  3. 通用分页查询存储过程
  4. node 常用的一些终端的命令的快捷键
  5. 如何配置Smarty模板
  6. 5.26在网上看到的方法,实现图形缩放、对齐、图形修改后进行dirty check。(未实验过)...
  7. MessageDAL
  8. js 简单的滑动教程(四)
  9. VS2005的几款代码皮肤。
  10. Year-End Review