Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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
PhpStorm:无法计算表达式'$_服务器[';服务器端口';]';_Php_Nginx_Phpstorm_Xdebug - Fatal编程技术网

PhpStorm:无法计算表达式'$_服务器[';服务器端口';]';

PhpStorm:无法计算表达式'$_服务器[';服务器端口';]';,php,nginx,phpstorm,xdebug,Php,Nginx,Phpstorm,Xdebug,我正在使用一个运行PHP7.1(PHPFPM)和Nginx的Docker容器。我已经安装并启用了Xdebug 2.5.0(如下图所示) 我正在尝试使用“Zero debug Configuration”使用以下代码行调试单个index.php文件: 有人能给我一些帮助吗?此设置缺少什么?这是因为您使用的是unix:socket而不是TCP协议。 重新配置PHP-FPM和NGINX以使用TCP“$\u服务器['SERVER\u端口]]”这是一个新的配置—以前从未见过端口问题。很可能您的nginx

我正在使用一个运行PHP7.1(PHPFPM)和Nginx的Docker容器。我已经安装并启用了Xdebug 2.5.0(如下图所示)

我正在尝试使用“Zero debug Configuration”使用以下代码行调试单个
index.php
文件:


有人能给我一些帮助吗?此设置缺少什么?

这是因为您使用的是unix:socket而不是TCP协议。
重新配置PHP-FPM和NGINX以使用TCP

“$\u服务器['SERVER\u端口]]”这是一个新的配置—以前从未见过端口问题。很可能您的nginx配置不完整(未正确配置)。请检查
$\u服务器['SERVER\u PORT']
phpinfo()
输出中显示的内容(通过浏览器捕获)。请注意,如果不使用DBGp代理设置,请不要触摸它们。我不是nginx专家(从未使用过它)。。但这一行可能是导致问题的原因:(编辑:实际上——不是这一行……但想法类似——见下一句)。在任何情况下--
SERVER\u PORT
变量应该出现在
$\u SERVER
中,并且端口号应该与您正在使用的端口号相匹配。@LazyOne我有另一个问题,我不确定我搞砸了什么。在
Dockerfile
上,我公开了端口
9001
,然后在
docker compose.yml
上,我将端口从容器映射到主机,如下所示:
9002:9001
然后,一旦我尝试在phpStorm中启动调试会话,我就会出现以下错误:
无法开始侦听来自“xdebug”的连接:端口9002正忙
,为什么?我错过了什么?不是Docker用户。。但是从我读过的所有手册中——你不应该公开这样的端口——IDE将使用这些端口进行本地监听——连接到IDE的是xdebug,而不是其他方式。通过将其暴露在Docker中(以便您可以从主机连接到容器中)。。你阻止IDE监听那个端口。@LazyOne你说得对,我刚刚发现这个被注释掉了
fastcgi\u param SERVER\u port$SERVER\u port这就是问题的原因,它现在可以工作了,谢谢
<?php
    phpinfo();
PhpStorm 2016.3.2 EAP
Build #PS-163.10154.2, built on December 13, 2016
JRE: 1.8.0_112-release-408-b2 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o