nginx и конечные косые черты в корне документа $?


Я использую следующую конфигурацию для nginx: http://gist.github.com/340956

Однако эта конфигурация вызывает ошибку No input file specified с PHP. Единственный способ, которым я смог решить эту проблему, - это изменить эту строку:

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

Обратите внимание на "/" между $document_root и $fastcgi_script_name. Мне сообщили, что это неправильная конфигурация, но никто не смог точно сказать мне, почему моя конфигурация требует этой дополнительной косой черты.

Как я могу избавиться от этого лишнего косая черта?

Author: shadowhand, 2010-03-23

5 answers

Только что столкнулся с той же проблемой (при установке remi nginx+php-fpm на сервере RHEL6), вы можете решить ее, добавив следующую строку в /etc/nginx/fastcgi_params

fastcgi_param  SCRIPT_FILENAME    $request_filename;

Я обнаружил, что эта строка отсутствует в RHEL, хотя она присутствует в отлично работающем Debian nginx.

 4
Author: Oriettaxx, 2012-10-20 09:11:42

Получает ли параметр PATH_TRANSLATED правильный URI? Я думаю, что это немедленное объединение переменных в файле conf, которое не вычисляется. При добавлении косой черты между ними, возможно, они интерпретируются правильно.

Когда вы получите сообщение об ошибке No input file specified, проверьте свой журнал, чтобы узнать, какой URI был запрошен.

 1
Author: Simeon, 2010-04-16 08:14:10

Удалить try_files $uri index.php$uri; в строке 3.

 0
Author: Young, 2010-03-23 11:12:21

Вопрос предпочтения. Пока вы последовательны, в любом случае все в порядке.

Либо добавьте косую черту в файл конфигурации и убедитесь, что в конце и начале имени корневого документа и имени сценария нет дополнительных косых черт соответственно, либо наоборот.

 0
Author: tanerkuc, 2010-04-12 03:32:13

Что происходит, когда вы явно добавляете корневую директиву следующим образом:

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;
}
 0
Author: pcting, 2010-04-20 20:23:57