20

専用サーバーに lighttpd をインストールしたところ、mod_fastcgi が有効になっているため、次の行をlighttpd.confファイルに追加しました。

fastcgi.server = ( ".php" =>
( "localhost" =>
                     (
                        "socket" => "/tmp/php-fastcgi.socket",
                        "bin-path" => "/usr/local/bin/php-cgi"
                      )
                   )
)

403 - Forbiddenしかし、Web ブラウザーに PHP ファイルを入力しようとするとメッセージが表示されるため、それでも役に立ちません... index.phpWeb ルート ディレクトリからファイルを削除してindex.htmlそこに配置すると、すべて問題なく動作します。index.phpファイルに100行または1行しかない場合でも、エラーはありません-<?php echo 'test'; ?>常に表示され403 - Forbiddenます。今はアイデアがありません。

なぜそれが起こったのですか?

ls -la私のWebルートディレクトリの:

#
total 6

    drwxr-xr-x  15 root  wheel   1536 Jul 18 10:23 .
    drwxr-xr-x   4 root  wheel    512 Jul 18 08:45 ..
    drwxr-xr-x   2 www   www      512 Jul  1 02:36 cache
    drwxr-xr-x   2 www   www      512 Jul  1 02:36 config
    drwxr-xr-x   6 www   www      512 Jul  1 02:36 inc
-rw-r--r--   1 www   www        9 Jul 18 11:02 index.php
4

5 に答える 5

14

あなたのphpは正しく設定されていません。lighttpd error.log を確認すると、次のように表示されます。

(mod_fastcgi.c.1397) [ERROR]: spawning fcgi failed. 

私が使う:

fastcgi.server = ( ".php" => ((                                      
                     "bin-path" => "/bin/php-cgi",             
                     "socket" => "/tmp/php.socket",              
                     "max-procs" => 1,                                     
                     "bin-environment" => (                         
                       "PHP_FCGI_CHILDREN" => "16",                    
                       "PHP_FCGI_MAX_REQUESTS" => "10000"           
                     ),         
                     "broken-scriptfilename" => "enable"
                 )))   

modules.conf で fastcgi が有効になっていることを確認してください

server.modules = (
  "mod_access",
  "mod_fastcgi",
#  "mod_alias",
#  "mod_auth",
#  "mod_evasive",
#  "mod_redirect",
#  "mod_rewrite",
#  "mod_setenv",
#  "mod_usertrack",
)
于 2012-08-20T08:18:28.053 に答える
11

同じ問題、Mint の修正は php5-cgi パッケージのインストールでした。
sudo apt-get install php5-cgi
fastcgi モジュール
sudo lighttpd-enable-mod fastcgi fastcgi-php
を有効にして、最後にリロードします
sudo service lighttpd force-reload

于 2014-11-05T06:52:12.620 に答える
6

同じ問題がありました。修正は、構成ファイルを移動して有効にするのと同じくらい簡単でした。私がしたことは...

$ ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/
$ ln -s /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled/

そしてリロード...

$ service lighttpd force-reload
于 2013-07-16T20:38:57.057 に答える
3

ubuntuでは、これを行うことができます:

sudo lighty-enable-mod fastcgi 
sudo lighty-enable-mod fastcgi-php

ソース: https://wiki.ubuntu.com/Lighttpd%2BPHP

于 2016-04-03T17:03:22.170 に答える
1

可能性は低いですが、「403 Forbidden」応答の別の考えられる理由として注意する必要があります。

構成ファイル (lighttpd.conf) 内のアクセス モジュール (mod_access) ステートメントを確認します。

例:

      url.access-deny = ( "", ".php");

ドキュメント: モジュール mod_access

于 2015-02-26T02:19:50.757 に答える