目录

Xdebug

安装

$ pecl install xdebug
$ php -v
PHP 7.4.3 (cli) (built: Oct  6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
    with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
zend_extension=opcache.so # 启用 opcache 拓展
zend_extension=xdebug.so  # 启用 xdebug 拓展
echo php_ini_loaded_file();   # 查看加载的 php.ini 位置
echo php_ini_scanned_files();

PHPStorm Xdebug 远程调试

1. Server 的 Xdebug 配置

xdebug.remote_enable=1
xdebug.remote_port=29325
xdebug.remote_autostart=0
xdebug.idekey=PHPSTORM

2. PHP Storm Debug 配置

3. PHPStorm 调试监听 9001 端口

4. 配置Server文件夹映射

5. 浏览器 Xdebug helper 拓展

Xdebug helper 拓展

将 Xdebug Helper 切换到:

6. 开启远程端口映射

Server 的 Xdebug 检测到 Xdebug Helper 附加到 Http 请求里的 XDEBUGSESSIONSTART=PHPSTORM 信息,PHP的解析执行将被暂停.XDebug 将数据发往 29325 端口,经过ssh隧道,到达了 PHP Storm 监听的 9001 端口,触发了调试界面.

$ ssh -p36000 -NT -R 29325:localhost:9001 xuser@120.79.86.110 # 在 PHP Strom 所在机器执行

7. 断点调试

在浏览器里访问 Web Server 的 index.php 文件,PHP Storm 打上断点,就能自动调出调试界面了: