Primary script unknown while reading response header from upstream

Дата: 17.02.2016Метки:

Собирал на днях PHP 7 для своего VPS, на котором крутится этот блог. Ради интереса решил провести небольшой эксперимент и максимально отключить все неиспользуемые WordPress компоненты PHP. В процессе сборки я стараюсь всегда отключать все неиспользуемые модули. В этот раз решил дополнительно указал параметры, которые ранее никогда не использовал:

--disable-fileinfo
--disable-json
--disable-posix

После того как я запустил процесс php-fpm, я обнаружил, что сайт не работает. Не могу сказать, что я был сильно удивлен, поэтому решил сразу проверить логи nginx. В логах повторялась следующая ошибка:

"Primary script unknown" while reading response header from upstream.

Благо эту напасть удалось быстро победить. Для того чтобы завести PHP, необходимо указать в секции location ~ \.php$ директорию root, которая будет указывать на расположение файлов php. Если вы столкнулись с подобной ошибкой, убедитесь что в конфиге виртуального хоста nginx присутствуют следующие директивы:

location ~ \.php$ {
    root /usr/share/nginx/html;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    ...
}