- 确认你的
image中已经安装并开启了xdebug - 扩展的版本要跟你的
php当前扩展版本一致 - 要确认你的
xdebug的ini文件正确加载了 - Phpstorm 的安装方式,网上太多了,这里不再赘述,文章开头提供的转载图片链接,也有详细的安装方式
下面是一张 xdebug 的运行图,供参考,
转载自:https://segmentfault.com/a/1190000011387666#articleHeader9

如何安装并开启 xdebug 提供以下的一些信息给你:
至于如何安装,因为每个人用的
image不一样这里就不再赘述,利用搜索引擎你可以找到对应你系统的安装命令,你可以放在Dockerfile中,这样当你执行docker-compose up -d的时候就可以在build的时候直接初始化到image中下载你对应版本的
xdebug,可以在这个网址https://xdebug.org/wizard.php中的文本框中输入从你的php容器命令行中执行php -i打印出来的内容,粘贴进去之后点击下方Analyse my phpinfo() output按钮,会得到你需要的东西。注意php -i能执行成功的前提是你的php的bin目录已经加入到环境变量中
下面是我通过phpinfo() 之后截的一张图,关于 版本信息你可以注意以下图中的一些参数,
你可能需要注意到了有不同的 extention 。
extension意为基于php引擎的扩展 zend_extension意为基于zend引擎的扩展
而xdebug 是通过 zend_extension 扩展的

- 通常
php的扩展 (即:.so 文件) 有两个地方存放
- 一个是
/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226,注意最后no-debug-non-zts-20131226这个目录可能基于版本号不同而变化 - 或者是这里
/usr/lib64/php/modules
- 你的 扩展的
ini文件加载位置可以通过下面这张图看出来

xdebug的ini配置展示如下
1 | [Xdebug] |
估计用 docker 的最麻烦的就是 容器与宿主机的通讯问题,我是这样配置的可以调用成功 xdebug.remote_host=docker.for.mac.localhost ,参考资料,点击前往
这里提供一些其他的参考资料:
- https://gist.github.com/manuelselbach/8a214ae012964b1d49d9fb019f5f5d7b
- https://github.com/docksal/docksal/issues/389
- https://www.ashsmith.io/docker/get-xdebug-working-with-docker-for-mac/
Chrome的小助手, 需要翻墙 点击安装