2010-12-02 9 views
2

誰かがディレクトリ内のPHPスクリプトを要求するたびに、Apacheサーバーで呼び出されるラッパー/ハンドラーを作成しようとしています。こうすることで、ディレクトリ全体に対してユーザーを認証したり、ディレクトリが呼び出されたときに呼び出される他のものを書くことができます。Apache/PHPの内部サーバーエラーAddHandlerラッパー

これは

<Directory "/srv/http/INNOV/PUBLIC_HTML/kb"> 
    Options -Indexes 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    DirectoryIndex index.php 

    AddHandler auth_handler .php 
    Action auth_handler /kb/auth_handler.php 
</Directory> 

[水曜日12月1日12時28分06秒2010] [エラー] [クライアントxxx.xxx ...私が思い付くことができました最適な構成であります.xxx.xxx] 要求が コンフィグレーションエラーの可能性があるため、 内部リミット10を超えました。必要に応じて、 'LimitInternalRecursion'を使用して、 の制限を増やしてください。バックトレースを取得するには、 'LogLevel debug'を使用してください。

注:LogLevelデバッグでは何も表示されませんでした。

これは単に「エコー」や、今は「死ぬ」を実行しようとしている...私のハンドラ(今のところ)である...

<?php 
$FILE = $_SERVER['PATH_TRANSLATED']; 
//readfile($FILE); 
die($FILE); 
?> 

また、これはバーチャルホストの内部にある、注意してくださいしかし、それは重要ではありません。また、 "Action"ディレクティブと同じものについて、3番目のパラメータ "virtual"を試しました。

これはなぜこのことが分かるのですか?

+0

@ user471231 - リライトやリダイレクトを適用しましたか? – ajreal

答えて

2

あなたが処理しようとしているフォルダの中にauth_handlerスクリプトのauth_handler.phpが存在するため、無限ループが発生しています。つまり、PHPリクエストを受け取り、auth_handler.phpを呼び出すauth_hanlderに指示します。auth_handler.phpは、ハンドラを再度ロードします。そのフォルダからauth_hanlder.phpを移動し、問題が修正されているかどうかを確認します。

+0

さて、明らかにそれが問題でした。私はそれが馬鹿だとは信じられません。 – user471231