Nginx Tips: Php Uploading Progress Bar - 0001


PHP公式の進捗サポートは、Nginx+PHP via FastCGIには適用されません.関連記事はSessionはアップロードの進捗状況を追跡しますを参照してください.本文の最後のWarningはNginxが自分でアップロードを処理することを示して、PHPは1つの最終結果しか得られなくて、過程を追跡することができません.最後の投稿(s.zargesから)も同様の警告を与えた.このようにして、APCのような他の方法を探さなければなりません.もう一つの選択肢はnginx-upload-moduleです.
nginx-upload-moduleについて
このモジュールはvkholodkovによって5年前に開発され、現在はNを更新していない.ソースコードアドレス.これはドキュメントです.ソースコードを直接ダウンロードします.ダウンロードが完了したら、解凍:
tar xvfz nginx_upload_module-2.0.11.tar.gz

パッチが必要です
コードは永遠に遠く、BUGは永遠に伝わる.数年が過ぎて、多くのコードが変わって、多くのBugは本来の姿を失って、ただそのおもりのBugだけが残って、私たちにかつて輝かしい過去を注意します.現在のNginxは5年前に比べて、ngx_のような多くのものを修正しています.http_read_request_body_tはto_を削除しましたwriteメンバーで、nginx-upload-moduleに必要なメンバーです.その結果、nginx-upload-moduleはコンパイルできません.この問題についての議論はこのリンクを参照してください.私たちはこの兄弟たちに感謝します:davromaniak、彼はnginx-upload-moduleを修正して、エラーを修正して、コンパイルすることができます.これは彼のこの問題の修正に関する博文です.私たちがしなければならないのは彼の修正をダウンロードして、nginx-upload-moduleにパッチを打つことです.ダウンロードしたPatchファイルの名前はdavromaniakです.txt.
つぎを打つ
次のコマンドを使用します.
cp darvromaniak.txt [nginx_upload_module    ]
patch ngx_http_upload_module.c davromaniak.txt

モジュールをNginxにコンパイルする
まずこのリンクはNginxソースコードをダウンロードしますから.次にコンパイル:
cd nginx-1.5.8
./configure --add-module=[nginx_upload_module    ]
make
make install

短い待ち時間でコンパイルとインストールが完了し、Nginxを再起動できます.
に注意
古いnginx-upload-module(2.0)を使いましたが、新しい2.2を使っている場合は、何か問題があったら、自分で解決してください.