php-fastcgi 状态:“未指定输入文件”

php-fastcgi 状态:“未指定输入文件”
# grep pm.status_path /etc/php5/fpm/pool.d/www.conf
pm.status_path = /fcgi-status

nginx配置:

location ~ ^/(fcgi-status|ping)$ {
     access_log off;
     allow 127.0.0.1;
     deny all;
     fastcgi_param SCRIPT_FILENAME /path/$fastcgi_script_name;
     fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
}

fastcgi_param 和 fastcgi_pass 与网站上运行的相同。

php-fastcgi 和 nginx 已重新启动,但是:

# curl http://127.0.0.1/fcgi-status -i
HTTP/1.1 404 Not Found
Server: nginx/1.10.1
Date: Tue, 18 Oct 2016 08:10:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.5.9-1ubuntu4.20

No input file specified.

这不是重复的这个问题因为错误不是‘文件未找到’(可能是 nginx 找不到路径)而是‘未指定输入文件’。请注意php 标头在响应中,因此答案不是来自 nginx,而是来自 php-fpm。

这是服务器上唯一的池。

我究竟做错了什么?

答案1

您的fastcgi_param SCRIPT_FILENAME路径中有一个路径前缀,但是在php-fpm配置中没有前缀。

因此您需要改变其中一个以使它们相同。

答案2

最后发现:我搞乱了 fpm 和 fast-cgi。配置更改是在 fpm 中,但我运行的是 fast-cgi。

相关内容