# 下载对应版本的 Xdebug:
xdebug官网下载地址:xdebug.org/download.ph…
你需要仔细分析和选择要下载的对应版本,否则无法调试。由于非常容易出错,建议采用下面这种简单方法:
xdebug网站提供一个自动分析你系统对应的xdebug版本的页面,网址是 xdebug.org/wizard.php
通过复制 phpinfo() 输出的源码信息,放置输入框内,然后点击按钮生成 php 相对应的 xdebug 安装提示操作,然后按照提示进行安装
安装过程出现的问题:
安装PHP扩展,提示checking Check for supported PHP versions... configure: error: not supported.
处理方式:这是php版本问题,同时我的 php 自定义编译安装,所以需要在配置时指定:
./configure -with-php-config=/usr/local/php/bin/php-config
检查是否安装成功:
#php -m | grep xdebug
通过命令知道对应的 php.ini 文件
php --ini
编辑 php.ini 内容
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
xdebug.remote_autostart = 1
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.idekey="PHPSTORM"
xdebug.remote_port=9001
xdebug.remote_log = /data/web/logs/xdebug.log
xdebug.remote_host="192.168.1.23"
# PhpStorm 配置
- **步骤一:**配置远程的 php-cli
- 步骤二:配置Debug,点击Validate 验证对应的内容是否配置好
- **步骤三:**配置 Servers(域名和端口与对应的 PHP Web 应用保持一致,用于web地址访问使用)
# 实际应用
1. PHP CLI 应用
我们先来看一个本地 PHP CLI 脚本代码的调试。我们首先编写一段测试代码 multi.php
,这段代码的作用是打印九九乘法表:
<?php
// 通过二维数组生成九九乘法表
$multi = [];
for ($j = 0; $j < 9; $j++) {
for ($i = 0; $i < 9; $i++) {
$n1 = $i + 1;
$n2 = $j + 1;
if ($n1 < $n2) { // 摒除重复的记录
continue;
}
$multi[$i][$j] = sprintf("%dx%d=%d", $n2, $n1, $n1 * $n2);
}
}
// 打印九九乘法表
foreach ($multi as $row) {
foreach ($row as $item) {
printf("%-8s", $item); // 位宽为8,左对齐
}
printf("\n");
}
如果在代码执行过程中报错,或者想要了解代码执行的完整流程,可以在代码编辑区从指定位置设置断点(从任意你想要调试的位置开始),激活Debug之后,你可以点击上图红框内的按钮进行 断点调试,将鼠标移到对应的按钮上会出现提示文本,比如 Step Over 表示跳过当前这一行,Step Into 表示进入函数内部等等,这里我们可以点击通过 Step Into(第二个按钮)逐行调试代码,在调试过程中,你可以实时看到当前作用域内变量的值
这样,可以及时感知代码当前的执行状态,从而对出现问题的地方进行定位和排查原因。如果代码逻辑很复杂,变量很多,还可以通过将关心的变量添加到监控区进行查看:
-
PHP WEB 应用
**前提:**PhpStorm 配置步骤三中的配置 已设置
实施步骤:
1、在 Web 请求中,需要在查看获取参数的代码前打上一个断点
2、开启监听
3、发送 Web 请求
4、查看端点的数据
参考文章: