IIS / FastCGI で複数のファイルをアップロードする

IIS / FastCGI で複数のファイルをアップロードする

奇妙な問題について助けが必要です。IIS サーバーを使用して PHP でアプリケーションを開発しています (私が決めるわけではないので、私を責めないでください)。6 個を超えるファイルをアップロードしようとすると、エラーは発生しませんが、ファイルをアップロードするスクリプトから要求が見つかりません。

"NetworkError: 404 Not Found - https://dev-server-host/admin/admin-manage-file-uploads.php?add=1&inst=GalleryPic&doctype=img"

問題はファイルアップロードの PHP 設定にあると思いましたが、制限がかなり寛大であることを確認しました。

max_execution_time = 600
max_input_time = 120
memory_limit = 2000M
post_max_size = 1000M
upload_max_filesize = 1000M
max_file_uploads = 5000

IIS 側で不足している構成はありますか?

このプロジェクト用の Web.config(*) ファイルがありません。アップロード パラメータ定義を含む Web.config ファイルを設定する必要がありますか?

(*) 間違っていたら訂正してください。このファイルは ASP アプリケーションにのみ必要で、PHP の場合このファイルは処理されないと思います。

答え1

この問題を解決するために私が行ったことは次のとおりです。

  1. アプリケーションのIISセクションでリクエストフィルタリングを開く
  2. 「ルール」タブを選択します
  3. 右側のアクションメニューから「機能設定の編集...」をクリックします。
  4. 「最大許容コンテンツ長」の値を増やす

参照: http://www.web-site-scripts.com/knowledge-base/article/AA-00696/0/IIS7 でのアップロードの最大サイズの増加.html

同等の方法は、次の内容の Web.config を作成することです。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="209715200" />
            </requestFiltering>
        </security>
    </system.webServer>
</configuration>

つまり、どうやら PHP アプリケーションの場合でも Web.config ファイルが機能するようです。

関連情報