Я только что установил nginx 1.1.13 и php 5.4.0 на последнюю 64-битную машину Centos 5.8. Nginx и PHP / Fpm работают, и я могу запускать php-скрипты через командную строку ssh, но в браузере я получаю сообщение «Файл не найден». ошибки на всех моих файлах PHP.
Вот как у меня nginx.conf обрабатывает PHP-скрипты:
location ~ \.php$
{
root /opt/nginx/html;
fastcgi_pass unix:/tmp/fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
Это прямое копирование / вставка с других моих серверов, где он отлично работает с этой настройкой (но они запускают более старые версии php / fpm).
Почему я получаю эти ошибки?
Ответы:
Поставьте "include fastcgi_params;" перед всеми строками "fastcgi_param *", "include fastcgi_params;" переопределяет все ваши строки "fastcgi_param *" (см. журнал отладки nginx):
источник
Я была такая же проблема.
Чтобы решить эту проблему, я проверил пользователя, запустившего nginx, php-fpm, и проверил его права доступа к папке, в которой находится корень. По умолчанию это «www-данные».
но вы можете узнать с помощью
ps aux | grep php-fpm
иps aux | grep nginx
команды.Вы должны убедиться, что папка доступна пользователю, выполняющему эти процессы.
источник
У меня была та же проблема, и для меня это была неверная конфигурация / несуществующая директива root в конфигурации сервера nginx
источник
Я использую такую конфигурацию, хотелось бы, чтобы она вам помогла. Это работает в OS X. Что касается меня, ответ @Xosofox работал. Я неправильно набрал версию nginx 1.6.2 как 1.2.6, чтобы корень стал несуществующим каталогом.
источник
Я решаю эту проблему, меняя пользователя и группу на текущего пользователя: group в php-fpm.d / www.conf
По умолчанию пользователь и группа 'nginx', измените это ....
Надеюсь это поможет
источник