Назад | Перейти на главную страницу

php-fastcgi status: «Не указан входной файл»

# 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 конфигурации у вас нет префикса.

Поэтому вам нужно изменить любой из них, чтобы они были одинаковыми.