用 IDE 写代码的好处除了强大的自动补全和错误检查之外,调试也是至关重要的。但受限于 PHP 的特性,想要在 IDE 中直接调试,就必须借助 PHP 的扩展:Xdebug。
前言
最近在写一个骰子机器人,用到了 CoolQ HTTP API 插件,需要对传入的请求进行解析。指令花样繁多,单纯地用 var_dump()
来查看运行过程自然是不太行,这个时候就需要用 Xdebug 搭配 PhpStorm 来进行调试了。
运行环境
为了还原服务器的真实环境,我用 VMware Workstation 创建了一个 Debian 10.3 虚拟机来运行 Apache 和 PHP。
截止本文发布,官方源及镜像的 PHP 最新版本为 7.3,PHP 7.4 的安装可参考 Debian 下安装 Nginx 和 PHP-FPM。
主机
- Windows 10
- PhpStorm 2019.3.4
虚拟机
- Debian 10.3 (静态 IP 地址,192.168.254.20)
- Apache 2.4.38
- PHP 7.4.4
Xdebug
安装
安装 Xdebug 很简单:
sudo apt install php-xdebug
配置
配置也很轻松,在 /etc/php/7.4/mods-available 目录中找到 xdebug.ini,并写入以下内容:
zend_extension = xdebug.so
xdebug.idekey = PHPSTORM
xdebug.remote_connect_back = true
xdebug.remote_enable = true
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_port = 9000
其中,xdebug.remote_connect_back
和 xdebug.remote_host
选择一个使用即可。xdebug.remote_connect_back
设置为 true 的话,xdebug.remote_host
会被忽略。
之后重新启动 Apache,配置就完成了:
systemctl restart apache2
PhpStorm
部署环境设置
File -> Settings 打开设置菜单,在 Build, Execution, Deployment -> Deployment 菜单页中设置部署环境信息。
Connection 标签页设置连接信息:

Comments | NOTHING