背景: 写代码不会调试那与搬砖何异?!虽然 PHP 是脚本语言,但是找 bug 、分析代码还是要靠调试啊!
本文测试环境
- xampp v3.2.2(32位)
- Windows 10 企业版
- Intel® Core™ i5-5300U CPU @ 2.30GHz
- RAM 8.00 GB
推荐部署环境
- 阿里云 ECS 领取1888通用红包
- Windows server 2012 R2 Datacenter
- Xampp v3.2.2 [Compiled: Nov 12th 2015]
- Xampp 3.2.2(32位)云盘下载链接:https://pan.baidu.com/s/1CysyrcdY0YblHvKJbSqjRA
提取码:qk6a (推荐服务器使用,异常稳定,运行了两年多从来没崩过) - Xampps 1.9.5(64位)云盘下载链接:https://pan.baidu.com/s/1QzvIH9ZwZam4nFcAsj_haA
提取码:ly1s(推荐本地测试使用,集成界面较方便,不过到了服务器并发大就会崩)
文章目录
一、下载 XDebug
1. 查看 phpinfo
<?php
echo phpinfo();
?>
2. 查找 phpinfo 对应的 XDebug 版本
① 全选复制自己的 phpinfo 粘贴到 https://xdebug.org/wizard.php 中, 会生成需要下载的版本。
② 根据分析信息下载相应的版本,Thread Safe 对应 TS版本,x86 对应 32 为版本
3. 下载 XDebug 插件并配置
① 找到对应版本的 XDebug 下载并放到 php 目录的 ext 文件夹中(上图所示路径)
② 设置php.ini, 在最后加上
zend_extension = C:\path\php\ext\php_xdebug-2.5.5-5.6-vc11.dll(这里要写真实地址)
xdebug.remote_enable =1
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.idekey=PHPSTORM
③ 重启 Apache 并再次查看 phpinfo
二、设置 PHPStorm
1. 配置服务器端
进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息:
name: localhost,
host: localhost,
port: 80, (端口根据自己实际情况填写)
debugger: XDebug
如果是自定域名则host设置自定域名, 如 laravel5.io
2. 配置 XDebug
① 进入File>Settings>PHP>Debug,找到XDebug选项卡,port填9000
② 进入File>Settings>PHP>Debug>DBGp Proxy 填写:
IDE key: PHPSTORM(这里要跟上文中 php.ini 里填写的配置相对应)
host: localhost
port: 80(端口根据自己实际情况填写)
设置完毕,点OK退出。
3. 配置 Web 应用
① 打开 web 调试配置
点菜单栏的 Run>Edit Configurations… 在弹出的窗口中添加一个调试配置:
点击左上角加号,选择 PHP Web Application
② 填写调试配置
- Name 随意填
- Server 选择刚刚配置好的 localhost
- Start URL 就是调试开始的路径,根据实际需要填
- Browser 是默认的调试浏览器,根据实际需要选
一般情况下,填好 Name 和 Server 确定即可
③ 设置成功
右上角会出现小甲壳虫的调试启动按钮
三、断点调试
① 填写完毕后,在代码里设置断点, 再开启电话 icno 监听, 点小甲壳虫启动调试
② 基本完事了, 调试就点开电话图标监听, 设置好断点, 点小甲虫开启调试了, 刷新页面可见结果
四、浏览器插件
再下个浏览器插件(不下也行), xdebug helper, 下载好之后点选项, IDE选PHPSTORM, 不想让所以网页显示小甲虫, 可以设置domain filter