摘要:前言是一款帮助调试代码的扩展主要功能有堆栈跟踪代码覆盖率分析垃圾收集统计远程调试其中最有用的功能就属远程调试了,下面就一步步来搭建。它检查和变量以找出使用哪个地址。
前言
xdebug是一款帮助php调试代码的扩展,主要功能有
堆栈跟踪
代码覆盖率分析
垃圾收集统计
远程调试
其中最有用的功能就属远程调试了,下面就一步步来搭建xdebug。从sublime转到atom后,发现atom对xdebug并不原生支持,花了半天时间,总算完成了xdebug环境的搭建。
搭建步骤安装 xdebug 扩展
安装 atom package php-debug
配置 xdebug 以及 atom
happy debug
先在xdebug官网 查询好与自己环境对应的版本,
我的php是5.4的,我应该使用 xdebug 2.4.1
pecl 安装
执行
pecl install xdebug-2.4.1
源码安装
下载 pecl.php.net/get/xdebug-version
执行 phpize && make && make install
window用户下载dll文件放在扩展目录就ok
在 php.ini 中加入
# linux zend_extension=xdebug.so # window zend_extension=yourpath/php_xdebug-x.x.x.dll [xdebug] xdebug.idekey=xdebug-atom # 编辑器插件的idekey xdebug.remote_enable=1 # 允许远程调试 xdebug.remote_host=127.0.0.1 # 编辑器所在ip地址 remote_connect_back为1时忽略此值 # 如果启用,xdebug.remote_host设置将被忽略,Xdebug将尝试连接到发出HTTP请求的客户 # 端。它检查$ _SERVER["HTTP_X_FORWARDED_FOR"]和$ _SERVER["REMOTE_ADDR"] # 变量以找出使用哪个IP地址。 xdebug.remote_connect_back=1 xdebug.remote_port=9000 # 编辑器监听的端口 默认为9000 xdebug.remote_handler=dbgp # 协议 xdebug.remote_mode=req xdebug.remote_autostart=false # xdebug.remote_log=/www/log/xdebug.log # 连接调试日志
这里注意是 xdebug 是以zend扩展加入的 所以是 zend_extension 而不是 extension
配置好后重启apache或php-fpm应用新配置
phpinfo(); 检查到xdebug 后方表示安装成功
打开atom setting->install 搜索 php-debug,或命令行
apm install php-debug
接着设置
PathMaps: [ "/data/www/root;c:/data/www" ] ServerAddress: "192.168.2.100" ServerPort: 9010
PathMaps
格式 "serverpath;local"
服务器到本地目录的映射,当服务器php文件地址与本地不同时,配置此项
ServerAddress
编辑器监听的地址 默认 127.0.0.1 该地址需要服务器能访问
ServerPort
编辑器监听的端口 默认 9000 如果9000被php-fpm占用则需要设置此端口
在php脚本中增加一个断点(alt+f9)
访问php脚本并加上 get参数 XDEBUG_SESSION_START=xdebug-atom
查看信息
最后 have fun
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28425.html
摘要:前言是一款帮助调试代码的扩展主要功能有堆栈跟踪代码覆盖率分析垃圾收集统计远程调试其中最有用的功能就属远程调试了,下面就一步步来搭建。它检查和变量以找出使用哪个地址。 前言 xdebug是一款帮助php调试代码的扩展,主要功能有 堆栈跟踪 代码覆盖率分析 垃圾收集统计 远程调试 其中最有用的功能就属远程调试了,下面就一步步来搭建xdebug。从sublime转到atom后,发现ato...
摘要:于是,这次顺利通过。联合调试问题就出在这里,无论我如何刷新页面,里的总是启动不起来。如果你也使用的话,这篇文章一定对你有帮助。 其实是很容易的一件事情,就因为一个端口的问题,费了好大劲,且听我慢慢道来。 安装xdebug 首先,我们要安装xdebug。在Mac上的安装方法相对简单:brew install php56-xdebug就好了。但是这里也遇到了一些小障碍,首先它说我原先用br...
摘要:此扩展使用安装在已打开的工作区文件夹内的库。此扩展由开发,是一个与之间的调试适配器。它具有零依赖性,并可以极大程度地工作于任何规模的项目里。查看先前文件的拷贝或者将其与工作区版本或先前版本进行比较,查看编辑器里对活动行的更改。 showImg(https://segmentfault.com/img/remote/1460000018002818?w=1223&h=630); 嗨 工匠...
摘要:目前有两种流行的调试器,我在学习和研究过程中,发现网上的各种信息过于凌乱,感到痛苦,影响理解和使用。脚本在运行时,由插件向发起连接,将调试信息发送给,并通过协议进行互动。这种模式的缺陷是配死了目标,不能支持多用户调试。 > 工欲善其事必先利其器,学习一门新语言,调试器的使用必不可少,本文分享一下PHP调试器的使用。 PHP目前有两种流行的调试器, Xdebug Zend Debugg...
摘要:远程调试分为两部分调试客户端和服务端。主动去连接的端口,连接成功后,调试开始。当然,单步调试的另一个好处是可以让初学者快速掌握项目的架构和执行流程。 博客原文链接 在使用php调试代码的时候,我通常都是使用简单暴力的echo之类的输出调试。这种调试方法的效率与个人能力正相关,你加一个echo多数是为了验证自己的一个推测,那么你对代码越熟悉,你推测的就会越准确,bug解决的就越快,相反...
阅读 3214·2021-11-23 09:51
阅读 3556·2021-11-09 09:46
阅读 3653·2021-11-09 09:45
阅读 2936·2019-08-29 17:31
阅读 1858·2019-08-26 13:39
阅读 2711·2019-08-26 12:12
阅读 3613·2019-08-26 12:08
阅读 2233·2019-08-26 11:31