当前位置: 首页 > news >正文

vscode远程调试PHP代码

目录

一、准备工作

二、ssh连接和xdebug配置

1.ssh连接

 2.xdebug配置

三、xdebug调试,访问


一、准备工作

1.安装vscode里面的两个扩展

2.安装对应PHP版本的xdebug

去xdebug官方,复制自己的phpinfo源码到方框里,再点击Analyse

Xdebug: Support — Tailored Installation Instructions

分析完成后,会有具体步骤教你如何安装和编译xdebug

注意这个路径/etc/php/8.1/fpm/conf.d/20-xdebug.ini,我是有这个路径的,根据PHP版本或系统可能不一样,这应该是xdebug的配置文件,但是我在原本的php.ini中也同样配置了xdebug

所以我都配置了,没试过只配置一个

二、ssh连接和xdebug配置

1.ssh连接

安装好上述的模块后,打开vscode,点击左下角的><按钮,然后选择Connect to Host

然后好像还要输入ssh root@要连接的ip ,具体没截图有点忘了

可以去看看其他博主的博客

连接成功后,打开你的项目文件夹

同样去安装一次xdebug扩展

安装好后点击运行与调试,创建launch.json文件,创建后会有内容,注释掉括号里面的内容

添加如下内容,端口号可以自行修改

"version": "0.2.0","configurations": [{"name": "Debug current script in console","type": "php","request": "launch","program": "${file}","cwd": "${fileDirname}","externalConsole": false,"port": 9004},{"name": "Listen for Xdebug","type": "php","request": "launch","port": 9004}

 2.xdebug配置

先进入/etc/php/8.1/fpm/conf.d/20-xdebug.ini

写入内容

这里的端口与你改的端口要一致

zend_extension=xdebug.so
[XDebug]
xdebug.remote_enable = on
xdebug.start_with_request = 1
xdebug.mode=trace
xdebug.collect_includes = 1
xdebug.collect_params = 1
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9004
xdebug.start_with_request=yes
xdebug.remote_log=/var/log/xdebug.log

然后进入你下载PHP时自带的php.ini,我的路径在/etc/php/8.1/fpm/php.ini

一样在最后面加入上面的内容

重启php-fpm服务和web服务

三、xdebug调试,访问

最后在项目代码中打上断点,注意不是哪里都可以打断点

打上断点后点击左上开始调试

浏览器访问后,回到vscode,成功进入断点,接下来就可以调试了

http://www.lryc.cn/news/132133.html

相关文章:

  • flink1.17 实现 udf scalarFunctoin get_json_object 支持 非标准化json
  • 基于VUE3+Layui从头搭建通用后台管理系统(前端篇)九:自定义组件封装下
  • 设计模式详解-装饰器模式
  • Android5:活动生命周期
  • 第2章 数据结构和算法概述
  • WPF国际化的实现方法(WpfExtensions.Xaml)
  • 【Linux】—— 进程程序替换
  • idea创建javaweb项目,jboss下没有web application
  • 广东灯具3D扫描抄数建模服务3D测绘出图纸三维逆向设计-CASAIM
  • Nginx反向代理-负载均衡、webshell实践
  • 第六阶|见道明心的笔墨(上)从书法之美到生活之美——林曦老师的线上直播书法课
  • nbcio-boot从3.0升级到3.1的出现用户管理与数据字典bug
  • Curson 编辑器
  • Shell编程学习之函数的应用
  • Fork/Join框架
  • LeetCode_字符串_中等_468.验证 IP 地址
  • ABAP Der Open SQL command is too big.
  • QChart类用来 管理 图表的:数据序列(series)、图例(legend)和坐标轴(axis)
  • Servlet+JDBC实战开发书店项目讲解第10篇:在线客服功能实现
  • CVE-2023-21292 AMS框架层高危漏洞分析
  • cuda、cuDNN、深度学习框架、pytorch、tentsorflow、keras这些概念之间的关系
  • 第二讲:BeanFactory的实现
  • vue2+Spring Boot2.7 大文件分片上传
  • Vite更新依赖缓存失败,强制更新依赖缓存
  • Linux命令200例:tail用来显示文件的末尾内容(常用)
  • 【Unity每日一记】进行发射,位置相关的方法总结
  • MISRA 2012学习笔记(3)-Rules 8.4-8.7
  • centos7组件搭建
  • webpack5和webpack4的一些区别
  • 攻防世界-fileclude