Nginx
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。
這是伺服器上唯一的池。
我究竟做錯了什麼?
最終發現:我搞砸了fpm和fast-cgi。配置更改是在 fpm 中進行的,但我執行的是 fast-cgi。
您
fastcgi_param SCRIPT_FILENAME
在其中有一個路徑前綴,但是在php-fpm
配置中您沒有前綴。因此,您需要更改其中任何一個以使它們相同。