php linux 调试工具,内网Visual Studio Code通过XDebug远程调试linux服务器PHP脚本
开发环境是这样:一台位于内网环境下的Windows机器使用VSCode作为IDE编写
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"serverSourceRoot": "/var/www/lighttpd/phpproj",
"localSourceRoot": "${workspaceRoot}"
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000,
"serverSourceRoot": "/var/www/lighttpd/phpproj",
"localSourceRoot": "${workspaceRoot}"
}
]
}
其中serverSourceRoot为项目位于服务器端的存储位置完整路径,localSourceRoot为本地项目存储位置完整路径,一般用环境变量${workspaceRoot}即可表示项目根目录。
调试用linux服务器端在PHP服务器可用的前提下,安装
yum install php-pecl-xdebug
安装,其它环境、安装方式可参考XDebug官方说明。
安装好后修改XDebug配置文件/etc/php.d/xdebug.ini,内容如下:
; Enable xdebug extension module
zend_extension=/usr/lib/php/modules/xdebug.so
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 0
开启XDebug的调试功能,然后重启web服务器以使安装好的XDebug扩展及相关配置生效。重启后可通过phpinfo()内容验证XDebug是否成功启用并且设置的参数是否正确。没问题后开发环境已经算是搭建好了,接下来要解决的就是开发机的内网问题,一般来说,如果开发机和服务器都位于公网或可随意映射端口时,通过XDebug调试的过程是这样:开发机访问服务器的web服务器上的PHP脚本,这时服务器端PHP的XDebug扩展会回连发起HTTP请求设备的调试端口(默认9000),成功后即可开始断点调试等操作。另外这种情况下还可通过xdebug.remote_host的方式指定开发机的IP来选择允许指定IP进行调试操作。但在开发机处于内网环境并无法暴露调试端口的情况下,显然XDebug的回连操作是无法成功的,这时就需要通过某种方式来使调试连接能够成功建立,这里我使用的是ssh tunnel的方式,下面操作是以token2shell作为ssh客户端,通过其自带SSHpf程序来完成隧道建立的,其它ssh客户端如putty等也可实现类似功能:
打开token2shell的SSHpf,编辑连接,输入正确的server信息,并添SSH Port Forwarding,Type使用Remote Forwarding,Remote Port填写9000,Destination Host的Address为127.0.0.1,Port 9000。设置好后点击连接,验证成功后隧道连接即建立完成,可以在服务器端console通过netstat -lap查看到sshd正在侦听9000端口。然后开启VSCode的调试Listen for XDebug,然后设置PHP脚本的断点,打开任意浏览器,访问服务器端的对应php文件(当然,事先需要将本地的php上传到服务器端),一切正确的话断点就可以命中了。
文字加密小工具v3
请输入要加密的内容
博主友情提示:
如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用
php linux 调试工具,内网Visual Studio Code通过XDebug远程调试linux服务器PHP脚本相关推荐
- 将Visual Studio Code和Windows Subsystem for Linux一起使用
目录 要求 启用Windows Subsystem for Linux 安装Linux(Ubuntu) 将VS Code与WSL一起使用 安装MobaXterm 配置X客户端 安装VS Code 结论 ...
- deepin终端编译c程序_Deepin Linux安装使用Visual Studio Code(VSCode)调试C++
昨天换了Deepin Linux,感觉很不错的样子,至少对于对操作系统颜值很重视的我来说,非常好用.准备长期使用. 平时使用Windows下的DEV CPP比较爽,调试功能鼠标悬浮看变量的功能非常好用 ...
- linux不支持32,Visual Studio Code 1.36发布,不再支持Linux 32位
VS Code 1.36,即2019年6月发布的Visual Studio Code,已发布.新版本已更新至Electron 4.x,意味着它将不再在Linux 32位上运行. 现在可以将文件夹从VS ...
- ubuntu下使用visual studio code来编译和调试C++
最近想在linux上编译c++代码,自己却一直习惯window上的IDE.以前公司要我写Linux代码的时候,我一般都是用eclipse + CDT,而eclipse这东西吧,我个人感觉因为加载组件太 ...
- Visual Studio Code(VSCode) 编辑/编译/调试 C++ 代码
前言 最近想要切换编辑工具,之前工作中使用过 Source Insight,Eclipse,CLion 来写 C++ 代码.目前来说 Source Insight 已经非常古老,只有编写代码还说得过去 ...
- 最新版Visual Studio Code下载及远程连接服务器(很详细哦)
文章目录 前言 一.Visual Studio Code的下载 二.Visual Studio Code远程连接服务器 1.下载Remote Development 2.进行Config配置 3.进行 ...
- java 远程debug 内网_java jdb remote debug - java远程调试
简介 用log来做调试的方法低效茫目 远程调试是jdk自带的一个有利调试工具,可以快速定位问题 在工作机上使用eclipse来自带的remote debug 问题 运维禁止使用remote debug ...
- Visual Studio 2012/2010/2008 远程调试
远程调试应用场景 部署环境:ASP.NET(C#)+IIS+Win7 64 bit 很多公司的开发模式都是将开发机器和服务器分开,也就是开发一台机,服务器一台机.而测试人员会在服务器上录入测试数据,此 ...
- Linux环境中Visual Studio Code 安装配置及其卸载(详细教程)
两篇相关博文: 在VMware15中创建虚拟机安装ubuntu系统(超详细教程) Linux环境编译运行C/C++语言程序----配置gcc.g++(详细教程) 此篇分享我在linux环境下安装VS ...
最新文章
- 强烈推荐——微软一站式开发技术框架 All-In-One Code Framework (CodeFx)
- Windows10/11安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机
- LeetCode自我总结(对链表进行插入排序)
- HTTP Status 500 - 问题
- Oracle_spatial的空间操作符介绍
- mysql自连接_MySQL自连接
- java org.jsoup does not exist_java使用Jsoup连接网站超时的解决方法
- 水晶报表的使用经验和资料总结
- 据我爱无人机网-英国政府向无人机研发项目提供3000万资助
- QT实现内录-电脑没有立体声混音,通过虚拟声卡实现内录
- mscomm32.ocx 注册 和 web 调用案例
- MSN Messenger的用户管理
- RPLIDAR激光雷达测试
- jQuery mobile ——制作表单
- MBTI职业性格测试
- 算法优化:旋转对称图最优解法及思路分享(几乎最优)
- App设计者开发APP要注意的21个雷区(上)
- configure使用说明
- TCP\IP 数据流与数据包
- 奇迹红孩子二---探讨商务互动社区