Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
PHP状态页正常工作,但Nginx记录错误_Php_Docker_Nginx - Fatal编程技术网

PHP状态页正常工作,但Nginx记录错误

PHP状态页正常工作,但Nginx记录错误,php,docker,nginx,Php,Docker,Nginx,我已使用以下Nginx conf在docker容器内启用了php状态页: server { listen *:80; location /php-status { allow 127.0.0.1; fastcgi_pass php:9000; include /etc/nginx/fastcgi_params; } } 因此,当我尝试curl/php状态时,我会得到包含完整状态信息的有效响应 但有一个问题:Ng

我已使用以下Nginx conf在docker容器内启用了php状态页:

server {
    listen      *:80;

    location /php-status {
        allow 127.0.0.1;
        fastcgi_pass php:9000;
        include /etc/nginx/fastcgi_params;
    }
}
因此,当我尝试curl/php状态时,我会得到包含完整状态信息的有效响应

但有一个问题:Nginx keep loggin error:

*1 realpath()“/etc/nginx/html”失败(2:没有这样的文件或目录),客户端:172.19.0.8,服务器:,请求:“获取/php状态HTTP/1.1”

实际上,容器中没有
/etc/nginx/html
目录

我试图创建
/etc/nginx/html
,但在这种情况下,我从状态页面收到
文件未找到
响应

有什么建议可以让php状态页面在没有任何nginx错误的情况下工作吗

谢谢大家!

更新:

这里还有一些
fastcgi_参数

fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param SCRIPT_NAME $realpath_root$fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $realpath_root;

/etc/nginx/html
是默认的文档根目录。它之所以这样做是因为根据您提供的内容,您没有使用
root
指令指定任何其他内容

根据文档根所在的位置,可以尝试此操作

server {
    listen      *:80;

    location /php-status {
        root /;
        allow 127.0.0.1;
        fastcgi_pass php:9000;
        include /etc/nginx/fastcgi_params;
    }
}
它起作用了

  • 就像post一样,我必须设置现有的
    root
    目录
  • 但我也有非默认的
    fastcgi_param SCRIPT_NAME
    设置
  • 以下是结果配置:

    server {
        listen      *:80;
    
        location /php-status {
            root /;
            allow 127.0.0.1;
            fastcgi_pass php:9000;
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }
    }
    

    您是否可以尝试允许从0.0.0.0而不是仅从127.0.0.1进行连接?@Mihai,结果是相同的:Nginx错误日志中的有效响应和错误结果是未找到
    文件。
    如果指定了root。我在描述中添加了一些
    fastcgi_参数
    ,也许会有所帮助