安装 Xdebug 扩展
- 编辑 laradock 目录下 .env 文件,修改以下两项
WORKSPACE_INSTALL_XDEBUG=true PHP_FPM_INSTALL_XDEBUG=true
- 修改后执行
docker-compose build PHP-fpm workspace
使配置生效
配置 Xdebug
-
编辑 laradock/workspace/xdebug.ini 及 laradock/PHP-fpm/xdebug.ini,具体配置如下
xdebug.remote_host=docker.for.win.localhost xdebug.remote_connect_back=0 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM xdebug.remote_autostart=0 xdebug.remote_enable=0 xdebug.cli_color=0 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/PHPstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1
其中 remote_host 很关键。我使用的是 windown,如使用 Mac 应修改为
docker.for.mac.localhost(ps:可以在未配置成功的情况下,运行西面的vildate 根据他的提示,填写
remote_host
)
配置 PHPStorm
-
配置 PHP server,具体配置如图
其中 server name 需和 laradock 目录中 .env 文件中 PHP_IDE_CONFIG 配置项一致,默认为 laradock -
配置、验证 Xdebug
- 配置保持默认配置即可,修改完配置后需校验配置
- 点击 Validate 后界面如图
点击下方 Validate 按钮,校验成功后如图
填写校验脚本地址时,需注意,如项目为 laravel ,目录必须为 public 目录。在这一步我被坑了很久,直接填写项目目录校验会 404 - 添加 debug 项目配置
run -> Edit Configurations,添加 PHP Remote Debug。其中 server 为 laradock 的 PHP_IDE_CONFIG 配置项,默认为 laradock,IDE key 为 PHPStorm。如图: - 配置完成后,选择上一步配置的 remote debug 启功,设置断点,刷新浏览器项目网页,即可开始调试。
- 注意:xdebug.ini是由laradock/PHP-fpm文件下的xdebug.int复制进去的,所以如果要修改要么从新build PHP-fpm或者进入PHP-fpm容器进行修改xdebug.ini配置,配置文件地址“/usr/local/etc/PHP/conf.d/”
- 运行PHPstorm可能出现文件映射错误的提示,这时候需要在setting/languages&framework/PHP/Servers新增的laradock进行编辑,使用use path mapping,幷把project files里面的Aboslute path on the server改为laradock文件目录地址
- 配置保持默认配置即可,修改完配置后需校验配置