Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker上的Xdebug不';不要使用PhpStorm_Php_Docker_Phpstorm_Xdebug_Docker Compose - Fatal编程技术网

Docker上的Xdebug不';不要使用PhpStorm

Docker上的Xdebug不';不要使用PhpStorm,php,docker,phpstorm,xdebug,docker-compose,Php,Docker,Phpstorm,Xdebug,Docker Compose,我对Docker很陌生。我无法将Docker容器上的xdebug连接到PhpStorm IDE 我花了很多时间寻找如何解决负面结果。 我敢肯定,我已经尝试了我发现的一切,并找到了更多的解决方案 我知道这里有很多文字,但我希望有人能收到:D 我的PhpStorm是V8.0.3 我的实际docker组合剪报: ports: - "8081:8081" - "80:80" - "443:443" expose: - "9001" links: - magedb_m1 environment: XDEB

我对Docker很陌生。我无法将Docker容器上的xdebug连接到PhpStorm IDE

我花了很多时间寻找如何解决负面结果。 我敢肯定,我已经尝试了我发现的一切,并找到了更多的解决方案

我知道这里有很多文字,但我希望有人能收到:D

我的PhpStorm是V8.0.3

我的实际docker组合剪报:

ports:
- "8081:8081"
- "80:80"
- "443:443"
expose:
- "9001"
links:
- magedb_m1
environment:
XDEBUG_CONFIG: "remote_host=172.17.0.1"
PHP_IDE_CONFIG: "serverName=docker"
XDEBUG_CONFIG: "idekey=PHPSTORM"
PHP_XDEBUG_ENABLED: 1
volumes:
- ./project/:/var/www/html/
xdebug.ini:

[xdebug]

zend_extension=xdebug.so
xdebug.idkey = "PHPSTORM"

xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
; This is the default Docker gateway
xdebug.remote_host=172.17.0.1
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
PhpStorm PHP设置:

我的本地IP地址:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp4s0f1: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 14:dd:a9:0b:ee:74 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.104/24 brd 192.168.2.255 scope global dynamic enp4s0f1
valid_lft 315356022sec preferred_lft 315356022sec
inet6 fe80::16dd:a9ff:fe0b:ee74/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: mtu 1500 qdisc noqueue state DOWN
link/ether 52:54:00:d5:ef:9c brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500
link/ether 52:54:00:d5:ef:9c brd ff:ff:ff:ff:ff:ff
5: docker0: mtu 1500 qdisc noqueue state UP
link/ether 02:42:b4:ad:cc:ab brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:b4ff:fead:ccab/64 scope link
valid_lft forever preferred_lft forever
6: br-c2e824564ce6: mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:44:61:39:53 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 scope global br-c2e824564ce6
valid_lft forever preferred_lft forever
34: veth29f09f2@if33: mtu 1500 qdisc noqueue master docker0 state UP
link/ether da:96:0c:3e:78:bd brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::d896:cff:fe3e:78bd/64 scope link
valid_lft forever preferred_lft forever
36: vethddad676@if35: mtu 1500 qdisc noqueue master docker0 state UP
link/ether 2e:26:7c:1b:7c:0b brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::2c26:7cff:fe1b:7c0b/64 scope link
valid_lft forever preferred_lft forever
使用xdebug的容器中的IP

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
35: eth0@if36: mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.3/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:3/64 scope link
valid_lft forever preferred_lft forever
容器xdebug.ini上存在于:

etc/php/5.6/mods-available/xdebug.ini
我尝试了不同的远程主机地址(172.17.0.3/172.17.0.2/172.17.41.1/更多)。不同的xdebug.ini选项


你能告诉我如何解决这个问题吗?

1)官方手册:2)你似乎同时遵循了多个教程,这造成了一点混乱。我的PhpStorm是V8.0.3。我不能安装Docker集成;cYou不需要Docker集成来通过浏览器进行调试,因此您可以跳过这些步骤。但是你可以看看正确的配置等等。例如,IP,你似乎在尝试不同的/随机的IP。为什么不检测出正确的地址并直接使用它(例如,
$\u SERVER[“REMOTE\u ADDR”]
)。我也相信你不想暴露自己。。因为是xdebug连接到IDE,而不是其他方式;使用暴露端口,您可能会阻止PhpStorm使用它。无论如何,我建议安装2016.3 EAP build(它有30天的免费许可证)并在那里进行测试,因为新版本可能已经修复了一些与xdebug相关的问题(这是当你正确设置所有的,但这仍然不适用于新的XDebug版本或其他任何东西)。一旦你做了WOK,你可以坚持你的V8或者可以考虑升级(当然,如果你有这样的选择)。感谢您的回答和提示。没有Docker集成,我无法创建Docker服务器,如下一步所示。我尝试了一些随机IP,我也尝试了Docker容器IP和一些本地IP。$\u服务器[“REMOTE\u ADDR”]在本地返回给我时:::1“/”127.0.0.1“。$\u服务器[“REMOTE\u ADDR”]在Docker容器返回给我时“172.17.0.1”我确信我应该使用映射端口“9001:9001”,因为phpstorm不会侦听此端口(它很忙)。Expose 9001无法使其变得繁忙,phpstorm能够侦听它,但是我尝试在没有映射的情况下也将此端口公开。它仍然不工作。1)官方手册:2)您似乎同时学习了多个教程,这造成了一点混乱。我的PhpStorm是V8.0.3。我不能安装Docker集成;cYou不需要Docker集成来通过浏览器进行调试,因此您可以跳过这些步骤。但是你可以看看正确的配置等等。例如,IP,你似乎在尝试不同的/随机的IP。为什么不检测出正确的地址并直接使用它(例如,
$\u SERVER[“REMOTE\u ADDR”]
)。我也相信你不想暴露自己。。因为是xdebug连接到IDE,而不是其他方式;使用暴露端口,您可能会阻止PhpStorm使用它。无论如何,我建议安装2016.3 EAP build(它有30天的免费许可证)并在那里进行测试,因为新版本可能已经修复了一些与xdebug相关的问题(这是当你正确设置所有的,但这仍然不适用于新的XDebug版本或其他任何东西)。一旦你做了WOK,你可以坚持你的V8或者可以考虑升级(当然,如果你有这样的选择)。感谢您的回答和提示。没有Docker集成,我无法创建Docker服务器,如下一步所示。我尝试了一些随机IP,我也尝试了Docker容器IP和一些本地IP。$\u服务器[“REMOTE\u ADDR”]在本地返回给我时:::1“/”127.0.0.1“。$\u服务器[“REMOTE\u ADDR”]在Docker容器返回给我时“172.17.0.1”我确信我应该使用映射端口“9001:9001”,因为phpstorm不会侦听此端口(它很忙)。Expose 9001无法使其变得繁忙,phpstorm能够侦听它,但是我尝试在没有映射的情况下也公开此端口。它仍然不工作。