php远程调试 没有光标,老法师谈技术 - PHP远程单步调试
老法师谈技术 - �PHP单步调试方法(xdebug)
在production环境上面使用单步调试的机会其实不多,但是不妨碍在代码编写阶段,或者代码阅读阶段,单步调试重要性,有时候单步调试一段代码比单纯阅读要效率高很多。
借助于xdebug的库,PHP的单步调试能力非常强大,而且并不依赖于具体客户端,也就是说,无论你是使用PHPStorm或者是Sublime,还是VIM都可以调试PHP程序。鉴于PHP程序都是部署在服务器端,我们这里只讨论remote调试方法。
远程(Remote)调试服务器端PHP程序需要考虑到下面几个方面:
在服务器端,配置xdebug支持remote调试,其实也就是让xdebug发送调试信息到制定地址和端口,
在客户端(你的PC端),配置xdebug服务器,来接受远端(Remote)的调试信息
在客户端映射代码,这样远端的调试信息可以定位到准确的代码位置
无论你是使用何种客户端,都需要考虑上面的三个方面,好下面开始正式的配置信息。
服务器端的xdebug配置
首先需要安装xdebug,这里就不展开了,不同的系统安装方法略有不同。其次,配置xdebug,以ubuntu为例配置文件在(/etc/php7/mods-available/xdebug.ini)
end_extension = "xdebug.so"
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_connect_back = 0
xdebug.idekey=PHPSTORM
xdebug.remote_handler = "dbgp"
xdebug.remote_host = 10.0.1.4
xdebug.remote_port = 9000
xdebug.remote_log = "/tmp/xdebug/xdebug_remote.log"
idekey是客户端用来认证xdebug发送过来的信息,所以确保两边配置的要完全一致。remote_host需要填写的是xdebug服务器的地址,在这里也就是你的PC机的地址。remote_log非常有用,发现远程调试不工作的时候,log会告诉你那里出了错。
客户端xdebug配置
Sublime是常用的PHP编辑器,以Sublime举例来说,需要首先安装xdebug插件,最简单的办法就是使用Package Control,具体如何安装这里就不多说了,跟任何其他插件的安装没有任何区别。Sublime的xdebug的配置信息如下:
{
"path_mapping": {
"/WeCenter/" : "/Users/aaa/Mydoc/Code/WeCenter/v319/wecenter-master/"
},
"url": "http://192.168.1.24:30080",
"ide_key": "PHPSTORM",
"port": 9000,
}
配置非常简单,唯一要注意的是path mapping,如果设置错误,中断的同时不能定位到具体的代码。点击Tools\xDebug\Start Debugging之后,在浏览器里面刷新页面的时候,应该可以看到如下界面:
Sublime-xdebug.png
PHPStorm是另外一个广泛使用的PHP开发工具,其配置都是以图形界面的方式进行,我们下面开始一步步的配置:
在Preference\Languages & Frameworks\PHP\Servers:
PhpStorm1.png
在Preference\Languages & Frameworks\PHP\Debug\DBGp Proxy:
ps-2.png
在Preference\Languages & Frameworks\PHP\Debug:
PhpStorm3.png
在Run\Edit Configurations\Defaults\PHP Remote Debug:
PhpStrom4.png
在上述配置都完成了之后,点击Run\Start Listening on PHP Debug Connecting按钮就可以进行单步调试了。
PhpStorm5.png
php远程调试 没有光标,老法师谈技术 - PHP远程单步调试相关推荐
- gdb 命令_gdb实用的调试技巧:启动方式、堆栈信息、单步调试
对于很多开发者来说,开发过程中难免会遇到各种各样的bug, 所以,每个开发者应该考虑如何快速高效定位问题原因,而gdb是linux上很实用的调试工具,熟练掌握其调试技巧,将有助于提高解决问题的效率,也 ...
- CodeBlock 基本使用 与 设置断点和单步调试方法 与生活标准普尔图
CodeBlock 基本使用 与 设置断点和单步调试方法 Degug 操作: 主要是建一个project: 而且project要放在英文目录下面: 程序项目的目录里不能有中文: new projec ...
- gdb tui 安装_GDB 单步调试汇编
之前在看汇编的时候一直是肉眼看GCC -S的结果,缺点是很不直观,无法实时的看到寄存器的值,所以研究了下如何用GDB调试汇编.当然,写这篇文章更重要的一个目的是半年没有写博客了,博客要长草了.^_^ ...
- vs单步调试及断点调试基本介绍
参考博客原址:https://blog.csdn.net/qq_43444947/article/details/104480128 简述:本文面向小萌新简单描述visual studio2019下的 ...
- 老司机谈APK瘦身套路-项目优化篇
老司机谈APK瘦身套路-项目优化篇 在上一篇文章中,老司机带领大家一起学习了图片资源的瘦身套路,收到了很多中学生读者的好评. 想了解的童鞋请点击:blog.csdn.net/mynameishua- ...
- [转载]钟茂森博士出家,净空老法师现场见证出家盛况_huadingjin_新浪博客
原文地址:钟茂森博士出家,净空老法师现场见证出家盛况 作者:六根清净方成稻 2011年7月15日(农历六月十五)钟茂森博士在香港圆明寺上畅下怀老法师座下剃度,法名"定弘".跟随上净 ...
- 老赵谈IL(3):IL可以看到的东西,其实大都也可以用C#来发现
在上一篇文章中,我们通过一些示例谈论了IL与CLR中的一些特性.IL与C#等高级语言的作用类似,主要用于表示程序的逻辑.由于它同样了解太多CLR中的高级特性,因此它在大部分情况下依旧无法展现出比那些高 ...
- autocad不能画图_设计院老司机谈CAD:学习AutoCAD掌握方法技巧更重要
设计院老司机谈AutoCAD制图,真的是一个不容易的过程,说实话对自己还是很佩服的,当然学习AutoCAD不仅仅有勇气就行,掌握方法技巧更重要. 总是一句话,难就对了!哈哈哈是不是有点扎心~ 事实上就 ...
- vivado在远程服务器上完成本地设备的程序烧写和调试(vivado远程调试)
vivado远程调试 目录 1 概述 2 本地设置 3 远程服务器设置 1 概述 本文用于描述FPGA开发过程中,使用远程服务器时,直接在远程服务器连接到本地设备进行程序的烧写和调试的过程. 即运用场 ...
- 树莓派远程4G遥控车教程(二)-相机云台舵机初步调试
树莓派远程4G遥控车教程(二)-相机云台舵机初步调试 树莓派远程4G遥控车教程(一)-准备工作 树莓派远程4G遥控车教程(三)-摄像头安装及实现局域网实时监控 树莓派远程4G遥控车教程(四)-实时监控 ...
最新文章
- SQL点滴24—监测表的变化(转载)
- 【SQL Join】两个字段关联到同一个表,如何使用left join
- flask对mysql数据库增删改查_Flask学习(三) - Flask-SQLAlchemy对数据库增删改查
- 云计算实战系列十一(软件包管理)
- ps 毛发 边缘_用PS给老旧黑白照片上色,亲妈级教学,简单实用,轻松搞定!
- Android基础学习一(整理,从零开始)
- 镁光固态硬盘用什么软件测试寿命,最简单的方法:如何查看SSD可以使用多长时间?固态硬盘寿命测试方法[详细]...
- vue组件库开发(npm包发布)
- 【01月16日】【精彩电影合集】【10部】【亲测】【Lsyq5647发布】
- js中 英文中文混合排序
- asp.net知识共享平台
- android 适配俄语添加,【技术贴】怎么在手机上添加俄语输入法?,怎样在电脑上打俄语重音?...
- How long is the way to the Architect?
- 微信网页版web通讯全解析(最新,持续更新,附源码)
- 设计模式之路 | 建造者模式
- 图片去水印软件分享!这三个好用的软件不能错过!​
- Linux命令:ln -s
- html密码域的type属性,查看网页黑点密码 将type=password中password修改成为text
- 自定义实现乘风破浪的小船
- 浅谈 裴蜀定理扩展欧几里得