[视频教程]利用SSH隧道进行远程腾讯云服务器项目xdebug调试

我的远程服务器是腾讯云的ubuntu系统机器,本地我的电脑系统是deepin的系统,使用的IDE是vscode。现在就来使用本地的IDE来调试腾讯云中为网站项目。 实现逻辑是访问网站域名后,请求被转发给腾讯云本地的9001端口,通过ssh隧道,会直接被转发给deepin本地系统的9001端口。vscode会监听9001端口接收到腾讯云传递过来的请求,进入断点调试模式,结束后会把请求返回给腾讯云,腾讯云继续处理请求。

首先安装必须的扩展

1.IDE中安装扩展PHP Debug,直接安装就行 2.腾讯云中安装xdebug的扩展,使用命令apt-get install php-xdebug

配置IDE的PHP Debug扩展

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9001,
            "pathMappings": {
                "/var/www/html/vscode/":"${workspaceRoot}"
            }
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9001
        }
    ]
}

配置PHP-FPM的php.ini的xdebug [XDebug] xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_host = 127.0.0.1 xdebug.remote_port = 9001 xdebug.remote_log = /tmp/xdebug.log

通过SSH隧道开启远程端口转发,把腾讯云的9001端口转发给deepin本地的9001端口 ssh -R 9001:127.0.0.1:9001 ubuntu@115.159.28.111

IDE中启动监听模式,打断点进行调试

详细操作演示可以查看我的B站视频

https://www.bilibili.com/video/av71667758/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小神仙

SignalR使用笔记

2) 默认情况下,这是IPrincipal.Identity.Name,但是可以通过向全局主机注册IUserIdProvider的实现来更改。

7820
来自专栏FreeBuf

phpStudy后门简要分析

注:这两个官网下载的版本里,都没有发现php5.3版本下存在有问题的php_xmlrpc.dll,打开时会提示存在pdb路径信息。

9820
来自专栏阿dai_linux

安全运维3.1—跨站脚本漏洞(XSS)之反射型XSS(get)漏洞

形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致"精心构造"的脚本输入后,在输到前端时被浏览器当做有效代码解析执行,从而产生危害。

12620
来自专栏eadela

servlet--response、request

/* String s = "Hello outputStream"; byte[] bytes = s.getBytes(); resp...

7410
来自专栏FreeBuf

Facebook系统HTML转PDF文档可能引起的RCE漏洞

1、Workplace by Facebook为Facebook旗下办公通讯软件,通过公司或群组模式实现内部团队交流沟通。当属于公司或群组的个人创建Workpl...

6310
来自专栏IT那个小笔记

Action接收参数

请求的各种信息参数都是在request对象中,不使用Servlet原生API怎么获取参数呢,Struts2中提供了三种方式(当然原理他还是通过request)

7120
来自专栏小神仙

vue学习笔记3

什么是组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可;...

6720
来自专栏yeedomliu

2. 使用Kubernetes和Docker

深入学习前,先看看如何创建一个简单的应用、打包成容器镜像、在远程集群或本地集群运行

7320
来自专栏蛰虫始航

用Python监测电影是否开始预售

对于一些大家期待的电影会想值得它什么时候预售,特别是某些热门的电影,若是不及时知道预售开始的消息很可能抢不到好位置的票甚至首映的票都抢不到。对于某部特别热门的...

7020
来自专栏小神仙

vue学习笔记4

考虑一个问题:想要实现 名 和 姓 两个文本框的内容改变,则全名的文本框中的值也跟着改变;(用以前的知识如何实现???)

10240

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励