如何调试安装到在docker beta for mac上运行的容器的php
我花了半天时间尝试不同的事情,包括我在gist.github.com遇到的这个解决方案 我有一个docker-compose文件,它安装了一个包含我的客户端和服务器项目的文件夹:
我的docker php.ini包含以下xdebug选项
我安装了xdebug chrome extension 在我的mac主机文件中,我有以下127.0.0.1 localhost dtest.xxx.com所以我可以通过dtest.xxx.com访问我的网络应用程序(和其他docker web应用程序),这些都可以运行应用程序 在Phpstorm(版本2016.1.2)中的首选项 – >语言与框架 – > PHP – >我有的服务器: host = dtest.xxx.com,port = 80,Debugger = Xdebug使用路径映射,我有 我已经尝试将xdebug.remote_host设置为从ifconfig获取的macs ip以及在/Users/u0026lt;mynameu0026gt;/Library/Containers/com.docker.docker/Data/database/com.docker.driver中尝试ip. AMD64架构的Linux / SLIRP /主机 但我无法打破断点,我甚至添加了xdebug_break()双重检查. 我非常感谢任何人的帮助,对我来说这是一个真正的阻碍. 如果需要任何进一步的信息,我很乐意提供. 最佳答案
更新2:
正如@Rashidul指出的那样,自17.06版的Mac版docker,您可以用xdebug.remote_host =“docker.for.mac.localhost”替换xdebug.remote_host =“192.168.65.1” 更新:正确的方式 所以我最终发现我在docker中的xdebug设置应该是
其中192.168.65.1是?/ Library / Containers / com.docker.docker / Data / database / com.docker.driver.amd64-linux / slirp / host中的条目 在最近的更新中,上面不再存在,为了获得Docker主机IP,我知道使用下面的.profile
另外,请确保在Chrome扩展中正确设置idekey,在我的情况下为PHPSTORM 原始解决方案 我使用的解决方法是使用命令打开运行php的docker容器的ssh隧道,在我的例子中,我将docker容器ssh端口映射到12,因此-p 12
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |