博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP vscode+XDebug 远程断点调试服务器上的代码
阅读量:7211 次
发布时间:2019-06-29

本文共 1569 字,大约阅读时间需要 5 分钟。

对于简单的项目或仅仅想知道某一位置的某个变量是什么值,直接使用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 = onxdebug.remote_autostart = 1;xdebug.remote_host = 192.168.10.1xdebug.remote_port = 9000xdebug.remote_connect_back = 1xdebug.auto_trace = 1xdebug.collect_includes = 1xdebug.collect_params = 1xdebug.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.cnblogs.com/ryanzheng/p/10575790.html

你可能感兴趣的文章
实现林间的选择性身份验证
查看>>
进程的调度算法
查看>>
使用elasticsearch1.5.2实现查找附近的人
查看>>
SQL SERVER 批量将修改字段名为大、小写
查看>>
#ifdef __cplusplus extern C{}与C和C++间的关系
查看>>
lvs的nat模式实验
查看>>
利用ftp服务器实现无人值守的安装
查看>>
Vbs脚本编程简明教程之六
查看>>
德国罗森伯格荣获2013年度中国综合布线十大品牌以及数据中心标准化产品应用奖...
查看>>
使用vue开发项目需要注意的问题和可能踩到的坑
查看>>
webpack 模块标识符(Module Identifiers)
查看>>
PHP有前途吗?
查看>>
sm1、sm2、sm3、sm4简单介绍
查看>>
精读《Optional chaining》
查看>>
jQuery选择器
查看>>
c++——四种强转方式 static_cast dynamic_cast const_cast reinterpret_cast
查看>>
Swift 学习
查看>>
【HDU】6148 Valley Numer 数位DP
查看>>
windows下使用hbase/opencv/ffmpeg小记
查看>>
有害的“这样效率最高”思维
查看>>