搭建过很多次开发环境了,但每次在调试这一块还是会多少耗费一点时间。
所以便有了这篇关于PHPSTORM
调试的笔记。
在进行调试之前,首先要做的是下载并安装Xdebug
,然后才能做相应的配置。
下载Xdebug(Windows)
如何选择符合自己PHP的版本的Xdebug,可以通过下面这种方法来判断。
使用Xdubug官方提供的一个检测工具
在命令行中输入:
1 | # Mac |
将输出的phpinfo
信息填入,然后就会自动检测该版本的PHP 所对应的Xdebug,如下图(这里以Windows 为例):
点击下载相应的文件。
安装并配置Xdebug
- 将下载好的文件放进指定目录
..\php\ext\
- 配置
php.ini
文件,这里需要注意的是:要找到正确的php.ini
文件。如果你不确定是哪一个,可以参考下面这个方法:
打印出phpinfo()
,找到字段Loaded Configuration File
根据后面的路径去找就没错了。
打开找到的php.ini配置文件,在最后面加上以下代码:
1 | # Windows |
其中:
xdebug.remote.host
如果是本地调试,填localhost
就好。xdebug.remote_port
为调试所监听的端口,通常默认使用9001
,需要和PHPStorm 中的 Debug port 相同。
下载并安装Xdebug(Mac)
Mac 下安装Xdebug,有两种方式:
- 使用
pecl
命令 - 通过源码编译
使用 pecl
Pecl 是 PHP 的包管理器。
这里以PHP5.6
为例,需要安装最新2.5.x
版本的Xdebug,因为这是PHP5.6
提供支持的最后一个版本。
1 | $ pecl install xdebug-2.5.5 |
源码编译
源码获取的方式和上面Windows 的方式是一样的,将输出的phpinfo
粘贴至输入框,然后下载对应版本的Xdebug。
1 | $ tar -xvzf xdebug-2.9.4.tgz |
启用Xdebug
无论是通过哪种方式安装,在正式使用之前,都需要手动启用该模块。
找到对应版本的 php.ini 文件并编辑,在配置文件中的最后部分加上以下内容:
1 | [XDebug] |
重启PHP即可。
如何检查Xdebug 是否启用?
1 | $ php -m | grep xdebug |
在PHPStorm中配置Xdebug
Mac
File->Setting->PHP->Debug
,确保PHPStorm
已经找到了Xdebug
。
在刚才的配置没错的前提下,这里是可以看到已经成功安装了Xdebug
的。
如果显示没有安装,请检查上面两步操作有无问题。
File->Setting->PHP->Debug
Debug port 与php.ini
配置文件中的xdebug.remote_port
的对应参数保持一致。
File->Setting->PHP->Server
,这三个参数的值和php.ini
中的保持一致。
- 配置域名
这里根据实际情况配置,我本地使用80 端口作为项目访问端口,所以这里填的是80。
- 配置调试参数
Run->Web Server Debug Validation
,检查是否配置成功。
确保项目文件路径和本地域名能正常访问,如果一切正常则能看到输出。
Windows
Windows 下的PHPStorm 配置和Mac 几乎差不多,保证一下几点是正常的基本上没啥问题。
- 确保PHPStorm 启用了对应版本的 Xdebug。
- PHPStorm 的调试信息与
php.ini
文件中保持一致。 - 项目文件路径和本地域名能正常访问。
Xdebug 调试端口并非一定要用9001,只要保持
php.ini
与PHPStorm
的保持一致就好了。
在PHPStorm中使用Xdebug
有两种方式使用Xdebug:
- 直接在编辑器中开始调试。
- 通过在请求地址中附加xdebug 的请求参数来调试,这招通常用来处理一些前后端分离的联动调试。