Собирал на днях 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; ... }