PhpStorm链接docker容器内的php XDebug进行断点调试

PhpStorm链接容器内的XDebug进行断点调试

php进行断点调试尽管不像其余语言那样方便,可是有些是有确实有其用处,好比调试循环内的数据异常时。在php于phpstorm都安装在同一环境下时,配置phpstorm的xdebug调试并非多困难的事情,可是若是你使用了docker容器来安放你的php环境时,他们之间的配合工做就不是那么简单容易的了,下边介绍一下如何使phpstorm连通docker容器内的php xdebugphp

请注意,该方法因为须要docker容器可以与宿主机进行网络通讯,所以对于mac上的docker容器不可用(mac的docker使用linux vm技术实现,默认没法与本地网络实现通讯,可是也能够经过其余方式曲线救国,这里不讲),可是mac上的phpstorm可使用该方法链接远程linux服务器上的docker容器内的php xdebuglinux

配置docker容器内的php xdebug环境

在docker容器中安装好php-pecl-xdebug扩展以后,编辑/etc/php.d/下的*-xdebug.ini文件(若是没有该文件也能够直接写在php.ini文件末尾)chrome

  • 将xdebug.remote_enable参数设置为1
  • 将xdebug.remote_host参数设置为你的宿主机IP(若是你的phpstorm安装在你的宿主机,不然指向你phpstorm所在机器的IP)
  • 将xdebug.remote_port参数设置为你要使用的端口(默认为9000)

配置phpstorm

  • 打开phpstorm的设置:PhpStorm->Preferences(command + ,)
  • 配置languages & Frameworks->PHP->Debug页面中xdebug项的debug port为你容器中xdebug设置的端口
  • 配置languages & Frameworks->PHP->Servers页面,添加Server

配置phpstorm的debug

  • 打开phpstorm的设置:run->Edit configurations
  • 添加一个PHP Web Appliation
  • 将右上角的小电话的图标设置为监听状态就能够启用XDEBUG调试程序了

浏览器扩展

php的xdebug须要监听请求中的特定参数才能启用xdebug调试,这里推荐安装一个浏览器扩展,该扩展在启用时能够保存此参数并附加到每一个页面中以便调试docker

  • 火狐浏览器能够安装:The easiest xdebug扩展
  • chrome浏览器能够安装:XDebug Helper扩展
相关文章
相关标签/搜索