Mac os x 下 phpstorm的 docker xdebug调试

重点设置项:

docker 默认的方式运行镜像文件 产生容器就可以了

一、php.ini配置

xdebug.xdebug_remote_host  = 宿主机IP 或 宿主机回环别名IP(不能为127)
宿主机IP:非默认docker网桥分配的IP(172.17.0.1),为宿主机当前网络中的真实IP


若为电脑使用wifi上网,在不同wifi环境会分配不同ip导致xdebug不能正常运行,因此使用宿主机回环别名IP代替,解决上述问题

php.ini xdebug中remote配置如下:

 

二、宿主机hosts

设置docker网站域名解释

宿主机回环别名IP 网站域名

 

三、phpstorm 配置


php CLI Interpreter可设置可不设置,不影响远程调试



调试端口与扩展配置xdebug.remote_port文件一致



DBGp Proxy 的 IDE key 与 Port 与 扩展配置xdebug中一致
Host 为/etc/hosts 的映射域名或与xdebug.remote_host 一致

 

1、添加 PHP Remote Debug,开启 Filter debug connection by IDE key


2、Server配置  设置当前项目与docker的站点地址映射


3、Validate(在上面第1点图中Pre-configuration下面进入)

选择 Local Web Server or Shared Folder
Path to create validation script: 设置为你当前项目的入口文件所有位置
Url to validation script: 默认就好了
正常的检测结果如下:

注:以上xdebug.remote_host只有设置为lo0别名IP或宿主机真实IP xdebug才能正常运行
若配置为docker默认网桥分配的ip,如172.12.0.1或者lo0别名IP 127.0.0.2等,上述检测虽然正常,但 xdebug仍然不能正常调试

四、回环IP别名设置

sudo ifconfig lo0 alidas 192.168.168.168/24
上述设置在电脑重启后消失,可配置为启动自动设置


1. 执行以下命令创建/Library/LaunchDaemons/localhost.rc.local.plist文件

sudo vi /Library/LaunchDaemons/localhost.rc.local.plist

2. copy以下内容到上面的文件里面

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0">
  <dict>
      <key>Label</key>
      <string>localhost.rc.local</string>
      <key>Disabled</key>
      <false/>
      <key>RunAtLoad</key>
      <true/>
      <key>KeepAlive</key>
      <false/>
      <key>LaunchOnlyOnce</key>
      <true/>
      <key>ProgramArguments</key>
      <array>
          <string>/etc/rc.local</string>
      </array>
  </dict></plist>


3. 执行以下命令

在非/etc目录下创建
sudo vi /etc/rc.local

输入设置别指令内容:
/sbin/ifconfig lo0 alidas 192.168.168.168/24

保存退出

添加可执行权限:
sudo chmod +x rc.local
设置文件所属
sudo chown root:wheel rc.local

打开访达 复制rc.local 到 /etc ,期间需要验证用户身份

4、测试运行

sudo launchctl load -w ./localhost.rc.local.plist

检测 设置的别名ip是否存在
ifconfig lo0

重启电脑再检测别名ip是否存在


5、xdebug 监听检查:

lsof -i:php扩展中设置的xdebug.remote_port端口号


上面为xdebug监控中的状态
下面为xdebug调试中的状态

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值