摘要:当我在官网看到了远程调试原理图时,我才知道应该怎么配置。配置的参数也少了很多,也不需要在里对一个个请求地址进行配置。其他可以配置可以共用。但是如果你使用的是本地的那他就会出现端口被占用的情况。
介绍
我之前配置直接按网上的文章进行配置总是配置不成功,里面很多东西不了解。当我在 xdebug 官网看到了 xdebug 远程调试原理图时,我才知道应该怎么配置 xdebug。配置的参数也少了很多,也不需要在 IDE 里对一个个请求地址进行配置。体验比之前看到的文章设置好用多了
环境说明windows
vagrant+vbox+centos7+nginx+php
phpstorm
配置前准备检查 php 环境是否已经存在 xdebug 拓展了
在命令行中输入 php -m 可以查看 php 已加载的拓展
了解自己环境的配置
php 版本
php.ini 所在地址
服务器系统位数 32位 还是 64位
xdebug 和 phpstorm 交互的原理
服务器的IP和端口是 10.0.1.2:80
IDE 的客户端IP是 10.0.1.42, 所以服务器上 xdebug.remote_host=10.0.1.42
IDE 监听的调试端口为 9000, 所以服务器上 xdebug.remote_port=9000
IDE 所在的客户端,对 xdebug 的服务器进行请求
Xdebug 与 10.0.1.42:9000 的客户端 IDE 监听端口关联
运行调试, xdebug 所在的服务器提供 HTTP 响应
服务器的IP和端口是 10.0.1.2:80
IDE 的客户端IP是一个未知的IP, 所以服务器上 xdebug.remote_connect_back=1
IDE 监听的调试端口为 9000, 所以服务器上 xdebug.remote_port=9000
发出 HTTP 请求后,Xdebug 将从 HTTP 请求头获取 IP 地址
Xdebug 会和从 HTTP 请求头获取 IP 地址的客户端 IDE 监听端口关联
运行调试, xdebug 所在的服务器提供 HTTP 响应
下载缺少的扩展和软件phpstorm 编辑器
xdebug 扩展
配置 php 环境配置添加 xdebug 扩展下载 xdebug 扩展源码
cd /usr/local/src wget https://xdebug.org/files/xdebug-2.7.0alpha1.tgz 解压 tar -zxvf xdebug-2.7.0alpha1.tgz
编译安装
cd xdebug-2.7.0alpha1 生成安装脚本 phpize 设置安装配置参数 vim install-sh > ./configure --with-php-config=/usr/local/php/bin/php-config 运行安装配置 sh install-sh 编译扩展,使用两个 cpu 内核运行(可以快很多) make -j 2 编译安装 make install
注意: 编译安装后,会返回扩展所在文件夹。
php.ini 中添加 xdebug 配置
[xdebug] zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so" xdebug.idekey="PHPSTORM" xdebug.remote_enable = On xdebug.remote_autostart=On xdebug.remote_connect_back=On xdebug.remote_port=9001phpstorm 配置
打开设置 file -> settings -> Languages & Frameworks
设置项目使用环境
设置 debug 配置 Languages & Frameworks -> php -> debug
设置 xdebug dbgp 配置 Languages & Frameworks -> php -> debug -> dbgp proxy
设置当前项目所在服务器地址和域名
开始调试打开编辑器调试监听
在指定控制器中添加断点
请求地址,编辑器会自动进入调试模式中
系列文章xdebug的安装配置 [本篇]
xdebug的实际运用
xdebug性能分析
FQA我的 php 运行环境在 windows 下应该要怎么设置
windows 的添加扩展会比 linux 简单很多。直接下载 dll 扩展文件就可以了。除了 zend_extension 设置的地址不一样。其他可以 xdebug 配置可以共用。
php.ini 中配置 xdebug 为什么不用默认的 9000 端口
因为 php-fpm 是使用 cgi协议 进行运行,所以它也需要端口,而它默认的端口也是 9000。如果你像我这样使用虚拟机的方式进行访问项目,不会出问题。但是如果你使用的是本地的 php-fpm 那他就会出现端口被占用的情况。为了避免就直接用 9001 来代替默认端口
php.ini 中可以配置的 xdebug 参数有那些,我应该在那里得到更全面的参数说明
xdebug 官网那里的手册有详细说明, xdebug 远程连接文档链接 里的 ctrl + f 搜索 Related Settings 就可以看到连接参数了
我应该下载那个版本的 xdebug
如果实在不知道自己的 windos 系统的 php 环境该用那个版本的扩展
可以通过下载页提供的工具进行下载 工具链接
多行文本框里面是放通过 php -i 命令返回的配置内容
为了更完整的取得参数可以 php -i > D:/php-ini.txt 保存到文件中
为什么我的 ide 配置好后,启动调试监听没有效果
这个很有可能是你系统的防火墙的安全机制。把这个端口保护起来了,可以直接关闭防火墙进行调试
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/29332.html
摘要:生成性能分析文件,再通过分析软件进行查看性能结果。性能分析工具详解我们通过打开性能分析文件打头的文件。可以很好的区分性能分析文件。 介绍 在上两期中我已经对 xdebug 最核心的操作已经进行了讲解。相信你可以摆脱写 var_dump($data);die; 的编写和完成调试后的清除了。这一期我们来学习xdebug的第二个特色-性能分析。这一个功能,在实操中用的不是很多。 使用场景: ...
摘要:单击此按钮可暂停程序执行。单击此按钮,通过标准关闭脚本从外部终止当前进程。实际上,插入符号处的当前行有一个临时断点集,一旦程序执行暂停,就会删除它。心中始终十分抗拒,导致功能变更延期。 介绍 在 上一期 中我们已经把 xdebug 和 phpstorm 的关联配置设置好了,接下来我将会深入的介绍 debug 的运用。分为3点内容 快速找到错误的原因 辅助读懂比效复杂的代码 代码重构 ...
摘要:确定环境的干净。这一步要优化的话应该是做一个类似缓存的机制,对于这种配置加载的性能提升所以我们在调试必然是要在这里配置环境的接口。 前言 在网上找了一些相关配置的例子,觉得很多比较复杂,并且配置项过于多了,有很多冗余并不是最开始就需要的配置,所以写一下记录,也方便以后自己查阅。 一、brew 安装 php 在 Mac OS 这边不需要手动去下载编译打包,直接使用 brew 进行快捷安装...
摘要:目前有两种流行的调试器,我在学习和研究过程中,发现网上的各种信息过于凌乱,感到痛苦,影响理解和使用。脚本在运行时,由插件向发起连接,将调试信息发送给,并通过协议进行互动。这种模式的缺陷是配死了目标,不能支持多用户调试。 > 工欲善其事必先利其器,学习一门新语言,调试器的使用必不可少,本文分享一下PHP调试器的使用。 PHP目前有两种流行的调试器, Xdebug Zend Debugg...
摘要:浏览器访问就能看到大大的了其实支持多版本,需要配置下下载链接复制目录下的到,命名为,配置 准备学习php框架Laravel,但PHP版本要求5.4+,目前用的wamp默认版本5.3,所以准备使用xampp,以下为记录 卸载wamp,略过 > ps:注意卸载wamp会删除PHP目前下的文件,因为PHP的扩展redis,memcache也会删除,记得备份,也可重下版本,还有MySQL...
阅读 2790·2021-11-17 09:33
阅读 4453·2021-09-22 15:57
阅读 2865·2019-08-30 14:16
阅读 3132·2019-08-29 14:07
阅读 2412·2019-08-26 11:55
阅读 3414·2019-08-23 17:07
阅读 1724·2019-08-23 16:50
阅读 2534·2019-08-23 16:08