質問

私はnginxのために次の構成を使用します。 http://gist.github.com/340956する

しかし、この構成では、PHPとNo input file specifiedエラーが発生します。私はそれを解決することができた唯一の方法は、この行を変更することである。

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

$document_root$fastcgi_script_nameの間で "/" に注意してください。私は、これは間違った構成であるが、誰も私の設定は、この余分なスラッシュが必要と正確な理由を教えすることができなかったことを知らされました。

私は、余分なスラッシュを取り除くことができますどのように?

役に立ちましたか?

解決

だけが(RHEL6サーバー上でnginxの+ PHP-FPMのレミインストールで)同じ問題に直面して、あなたは、/ etc / nginxの/ fastcgi_params

で、次の行を追加して、それを解決することができます
fastcgi_param  SCRIPT_FILENAME    $request_filename;

完璧に取り組んでDebianのnginxの中に存在しながら、私は、RHELに欠けているこの行を見つけます。

他のヒント

のparam PATH_TRANSLATEDは正しいURIを取得していますか?私はそれは計算しないconfファイル内の変数の即時連接だと思っています。それらの間にスラッシュを追加する場合は、おそらく彼らは正しく解釈されます。

あなたがエラーNo input file specifiedを取得すると、URIが要求されたものを見るためにあなたのログをチェックします。

3行目で削除try_files $uri index.php$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;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top