Я только что установил 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):
location ~ \.php$ {
root /opt/nginx/html;
fastcgi_pass unix:/tmp/fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
}
Я была такая же проблема.
Чтобы решить эту проблему, я проверил пользователя, запустившего nginx, php-fpm, и проверил его разрешения на доступ к папке, в которой находится корень. По умолчанию это www-data.
но вы можете узнать, используя ps aux | grep php-fpm
и ps aux | grep nginx
команды.
Вы должны убедиться, что папка доступна пользователю, запускающему эти процессы.
У меня была такая же проблема, и для меня это была неправильная конфигурация / несуществующая директива «root» в конфигурации сервера nginx
Я использую такую конфигурацию, желаю, чтобы она вам помогала. Он работает в OS X. Что касается меня, ответ @Xosofox сработал. Я неправильно набрал версию nginx 1.6.2 как 1.2.6, так что корень стал несуществующим каталогом.
location ~ \.php$ {
fastcgi_intercept_errors on;
root /usr/local/Cellar/nginx/1.6.2/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/Cellar/nginx/1.6.2/html$fastcgi_script_name;
}
Я решаю эту проблему, сменив пользователя и группу на текущего пользователя: group в php-fpm.d / www.conf
По умолчанию пользователь и группа - nginx, измените это ....
Надеюсь это поможет