ErrorDocument
次のディレクティブを使用して、Apache 2.4.2 および PHP 5.4.5 (モジュールとしてロード) で仮想パスのハンドラーを開発しようとしています。
<Directory "...">
...
ErrorDocument 404 /handler.php
...
</Directory>
使用されるメソッドが GET または HEAD である限り、すべて魅力的に機能します。メソッドが POST の場合に問題が発生します。
POST を使用する場合、私のテスト PC では、ヘッダーが に設定されてfile_get_contents('php://input')
いる場合でも、 経由で入力ストリームを取得できます。サーバー PC では、タイプが であっても、コンテンツは常に空です。Content-Type
multipart/form-data
application/x-www-form-urlencoded
スクリプトがこの種のリダイレクトの結果である場合、$_POST
とが空であるため、生の POST データを取得しようとしています。$_FILES
足りないものはありますか?httpd.conf ファイルの設定が違うのではないでしょうか? php.ini ファイルは同じです。どこから始めたらいいのかわからない。
更新: 違いは、テスト目的で使用してaction
いた要素の属性が原因だったようです。がファイルに設定されていて、それがルートディレクトリにある<form>
場合、スクリプトは生の POST データを取得できるようです。action
.php
AddHandler
これは、httpd.conf ファイルで使用されているディレクティブと関係があると思います。