phpstorm + xdebug 断点调试

环境说明#

宿主机 deepin 系统,用的是 docker-compose 搭建 laravel

php.ini 添加 xdebug 模块#

  • 下载 xdebug 模块
  • 首先打印 phpinfo () 全选复制到 https://xdebug.org/wizard 这个链接的文本域中 并且点击这个按钮生成
    phpstrom + docker + xdebug 断点调试

phpstrom + docker + xdebug 断点调试
点击下载

注:由于我之前下载 2.7.1 版本的,并且适用 php 7.1,固这里不下载 2.9

解压并进入 xdebug 目录

tar -xvzf xdebug-2.9.0.tgz
cd xdebug-2.9.0

编译并生成.so 文件

phpize # 生成configure文件
./configure --enable-xdebug # 配置
make && make install # 编译并生成

复制 xdebug.so 模块到指定目录

cd modules/ 
mkdir /usr/local/bin/modules 
cp xdebug.so /usr/local/bin/modules 

找到 php.ini 文件 在最后插入

[xdebug]
zend_extension=/usr/local/bin/modules/xdebug.so
xdebug.profiler_enable=on #开启性能监控(一般在正式环境不建议开启)
xdebug.trace_output_dir="/usr/local/php/xdebug_trace" #程序执行顺序日志
xdebug.profiler_output_dir="/usr/local/php/xdebug_profiler" #程序执行性能日志
xdebug.default_enable=0
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.5.24
xdebug.remote_port=9000
xdebug.remote_connect_back=0
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_log=/usr/local/php/xdebug/remote.log

zend_extension 这个值就是 xdebug.so 的目录,xdebug.remote_host 是电脑 ip,xdebug.idekey 这个值要跟 phpstrom 编辑器设置的一致

重启 php 打印 phpinfo(),如果有下图,表示成功

phpstorm + xdebug 断点调试

因为我用的是 docker 刚开始没有 php.ini 文件
find / -name php.ini*

phpstrom + docker + xdebug 断点调试

进入 /usr/local/etc/php,并且根据 php.ini-development 复制一份 php.ini

cd /usr/local/etc/php
mv php.ini-development php.ini

接下来配置 phpstorm#

|file|settings
这里的 debug port 要跟上面 php.ini 里面 xdebug.remote_port 的值一致
phpstrom + docker + xdebug 断点调试

配置 DBGp Proxy,这里 IDE key 要跟下面浏览器 debug 配置的 key 一致
phpstrom + docker + xdebug 断点调试

配置 servers,这里的 host,本地项目一般填 localhost,端口要跟服务器配置的一致,我的是宿主机 81 端口映射到 docker 容器 80 端口,所以填 81,Debugger 这里选择 Xdebug ,下面的 File/Directory 配置的是宿主机 php 项目所在目录,而 absolute path on the server 配置的是 Docker 容器中的项目目录
phpstrom + docker + xdebug 断点调试

配置 |Run|Debug Configurations
添加一个 PHP Web Page
phpstrom + docker + xdebug 断点调试

谷歌浏览器安装 xdebug helper 插件#

安装完成后,右键选择 "选项",IDE key 选择 "PhpStorm",后面输入 "PHPSTORM" 点击 save 按钮即可:
phpstrom + docker + xdebug 断点调试

点击右上角这个电话虫,设置断点,浏览器刷新,就可以进行断点调试
phpstrom + docker + xdebug 断点调试

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

VScode 不需要配置直接可以使用!

5年前 评论
Rakishly (楼主) 5年前