基于 docker 开发环境下-配置 PHPStorm xdebug

  1. 确认你的 image 中已经安装并开启了 xdebug
  2. 扩展的版本要跟你的 php 当前扩展版本一致
  3. 要确认你的 xdebugini 文件正确加载了
  4. Phpstorm 的安装方式,网上太多了,这里不再赘述,文章开头提供的转载图片链接,也有详细的安装方式

下面是一张 xdebug 的运行图,供参考,

转载自:https://segmentfault.com/a/1190000011387666#articleHeader9

15065147579121.jpg

如何安装并开启 xdebug 提供以下的一些信息给你:

  1. 至于如何安装,因为每个人用的image不一样这里就不再赘述,利用搜索引擎你可以找到对应你系统的安装命令,你可以放在 Dockerfile 中,这样当你执行 docker-compose up -d 的时候就可以在 build 的时候直接初始化到 image

  2. 下载你对应版本的 xdebug ,可以在这个网址 https://xdebug.org/wizard.php 中的文本框中输入从你的php 容器命令行中执行 php -i打印出来的内容,粘贴进去之后点击下方Analyse my phpinfo() output 按钮,会得到你需要的东西。注意 php -i 能执行成功的前提是你的 phpbin 目录已经加入到环境变量中

下面是我通过phpinfo() 之后截的一张图,关于 版本信息你可以注意以下图中的一些参数,

你可能需要注意到了有不同的 extention

extension意为基于php引擎的扩展 zend_extension意为基于zend引擎的扩展

xdebug 是通过 zend_extension 扩展的

image-20180614141644629

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

image-20180614143600006

  1. xdebugini 配置展示如下
[Xdebug]
zend_extension = "/usr/local/php56/lib/php/c_extention/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_handler=dbgp
;xdebug.remote_host=192.168.65.1docker.for.mac.localhost
xdebug.remote_host=docker.for.mac.localhost
xdebug.remote_port=9009
xdebug.idekey=PHPSTORM
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 0
xdebug.remote_log="/var/log/php-fpm/xdebug.log"

; Enable xdebug extension module
;zend_extension="/usr/lib64/php/modules/xdebug.so"
;zend_extension="/usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"

估计用 docker 的最麻烦的就是 容器与宿主机的通讯问题,我是这样配置的可以调用成功 xdebug.remote_host=docker.for.mac.localhost ,参考资料,点击前往

这里提供一些其他的参考资料:

  1. Chrome 的小助手, 需要翻墙 点击安装
本作品采用《CC 协议》,转载必须注明作者和本文链接
rexmolo
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!