使用 PHPStorm 和 Docker 容器的 Xdebug
Xdebug with PHPStorm and a Docker container
设置:Windows10; Docker 运行 Boot2Docker 在 Hyper-V 上; PHPStorm 9
VM 上的网络服务器是 Nginx。我已经为 php5-fpm 配置了 xdebug.ini 为:
zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
如果我设置断点并重新加载页面,我会从 PHPStorm 中的 Xdebug 获得传入连接:
我想知道只显示了一个文件,而不是整个项目,它要大得多。如果我接受连接,我可以调试第一行,但它不会在我的断点处停止并创建一个服务器条目,如下所示:
很奇怪host是空的
我已经添加了具有正确映射的服务器,但它被忽略了。
那么如何让 Xdebug 在断点处停止?
What is very strange that host is empty.
PhpStorm 需要填写此字段,因为它使用此字段来识别要使用的服务器条目(以及路径映射)——IDE 支持在不同域上调试相同的代码库 运行 / 远程服务器。
在这种特殊情况下,您的 nginx 配置的 servername
字段/参数为空。您可以通过在 nginx 配置文件中提供一些值来解决此问题。
设置:Windows10; Docker 运行 Boot2Docker 在 Hyper-V 上; PHPStorm 9
VM 上的网络服务器是 Nginx。我已经为 php5-fpm 配置了 xdebug.ini 为:
zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
如果我设置断点并重新加载页面,我会从 PHPStorm 中的 Xdebug 获得传入连接:
我想知道只显示了一个文件,而不是整个项目,它要大得多。如果我接受连接,我可以调试第一行,但它不会在我的断点处停止并创建一个服务器条目,如下所示:
那么如何让 Xdebug 在断点处停止?
What is very strange that host is empty.
PhpStorm 需要填写此字段,因为它使用此字段来识别要使用的服务器条目(以及路径映射)——IDE 支持在不同域上调试相同的代码库 运行 / 远程服务器。
在这种特殊情况下,您的 nginx 配置的 servername
字段/参数为空。您可以通过在 nginx 配置文件中提供一些值来解决此问题。