Я использую следующую конфигурацию для nginx: http://gist.github.com/340956
Однако эта конфигурация вызывает a No input file specified
ошибка с PHP. Единственным путем я смог решить его, путем изменения этой строки:
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
Отметьте "/" между $document_root
и $fastcgi_script_name
. Мне сообщили, что это - неправильная конфигурация, но никто не смог сказать мне точно, почему моя конфигурация требует этой дополнительной наклонной черты.
Как я могу избавиться от той дополнительной наклонной черты?
Вопрос о предпочтениях. Пока вы последовательны, все в порядке.
Либо добавьте косую черту в файл конфигурации и убедитесь, что в конце и начале корня документа и имени сценария нет дополнительных косых черт соответственно, либо наоборот.
Получает ли параметр PATH_TRANSLATED
правильный URI? Я думаю, что это немедленное объединение переменных в файле conf, которое не вычисляется. При добавлении косой черты между ними, возможно, они правильно интерпретируются.
Когда вы получаете сообщение об ошибке Не указан входной файл
, проверьте свой журнал, чтобы узнать, какой URI был запрошен.
что происходит, когда вы явно добавляете корневую директиву, например:
location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(.*)$;
include fastcgi.conf;
root /var/www/my_webroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}