Windows system >> Windowsの知識 >  >> コンピュータソフトウェアのチュートリアル >> サーバー技術 >> サーバーについて >> Nginx + phpアップロードラージファイルソリューション

Nginx + phpアップロードラージファイルソリューション

  
nginxを使用してWebサーバーを処理する場合、大きなファイルをアップロードするときにclient_max_body_sizeパラメータに特別な注意を払う必要があります。最初にphp.iniファイルを変更します。パラメータ設定説明file_uploads onファイルをHTTP経由でアップロードできるようにするかどうか。 Upload_tmp_dir - ndash;ファイルは一時ファイルが保存されているサーバーにアップロードされます指定されていない場合は、システムのデフォルトの一時フォルダupload_max_filesize 8mが使用され、アップロードされるファイルの最大サイズが許可されます。デフォルトは2Mです。post_max_size 8mは、フォーム内のすべての値を含め、フォームPOSTを介してPHPが受け取ることができる最大値を表します。デフォルトは8Mです。

説明

一般的に言って、上記の4つのパラメータを設定した後、< = 8Mファイルをアップロードすることは通常のネットワーク条件下では問題ありませんが、アップロードしたい場合> 8Mサイズの大きなファイル。上記の4つの項目のみが必ずしも渡すことができません。あなたのネットワークが本当に100M /Sのアップロード速度を持っていない限り、あなたは以下のパラメータを設定し続ける必要があります。 Max_execution_time 600 1 PHPページ実行あたりの最大時間値(秒)、デフォルト30秒max_input_time 600 1 PHPページあたりのデータ受信に必要な最大時間、デフォルト60秒memory_limit 8m 1 PHPページあたりの最大消費メモリー、デフォルト8M

しかし、Webサーバーがnginxを使用しているため、nginxの設定にパラメータが追加されています。デフォルトは1Mで、増やす必要があります。 nginx.confにclient_max_body_size 30mを追加します。

最大アップロード30Mを設定するために30mを再起動します。

テキストの概要

デフォルトでは、nginxはクライアントから要求される単一ファイルの最大バイト数を1Mにすることができます。つまり、アップロードされたファイルが1Mを超えると、アップロードされません。このパラメータを手動で変更することができます。たとえば、httpセクションに次のコードを追加すると、10M未満のファイルをアップロードできます。

client_max_body_size 10m; php.iniのアップロードファイルサイズの設定も制限されます。

post_max_size = 8M upload_max_filesize = 2M

Copyright © Windowsの知識 All Rights Reserved