ホームページ  >  記事  >  バックエンド開発  >  PHP および Nginx ファイルのアップロード サイズ制限の問題

PHP および Nginx ファイルのアップロード サイズ制限の問題

王林
王林オリジナル
2019-11-08 09:41:352140ブラウズ

PHP および Nginx ファイルのアップロード サイズ制限の問題

PHP の大きなファイルのアップロードは多くのリソースを占有するため、アップロード サイズを制限する必要があります。関連する 3 つのパラメータは次のとおりです:

client_max_body_size
upload_max_filesize
post_max_size

一部の nginx php の場合Web サイトでは、アップロードされるファイルのサイズはさまざまな側面によって制限されます。1 つは、クライアントによってアップロードされるファイルのサイズを制限する nginx 自体の制限です。もう 1 つは、php.ini ファイル内の複数の場所のデフォルト設定です。 。

したがって、アップロードするファイル サイズの制限の問題を解決するには、多くの変更を加える必要があります。いくつかの場所を以下に挙げます。

解決策:

1. /usr/local/nginx/conf/nginx.conf ファイルを変更し、client_max_body_size を見つけて、次の値を希望する値に設定します。価値。例:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
     # 
     location ~ \.php$ { 
       root      /home/www/htdocs; 
       fastcgi_pass  127.0.0.1:9000; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME /home/www/htdocs$fastcgi_script_name; 
       include    fastcgi_params; 
   
       client_max_body_size 35m;    #客户端上传文件大小设为35M 
       client_body_temp_path /home/www/nginx_temp;    #设置临时目录 
     }

2. php.iniファイルを修正する

upload_max_filesize = 8M  
post_max_size = 10M  
memory_limit = 20M 
max_execution_time=300 
file_uploads = On #默认允许HTTP文件上传,此选项不能设置为OFF。
upload_tmp_dir =/tmp/www

大きなファイルをアップロードする場合、アップロード速度が遅いと感じますが、一定の時間を超えるとレポートが表示されます。 2 番目のエラーは、php.ini 設定ファイルの max_execution_time 設定オプションが原因で、各スクリプトの最大許容実行時間 (秒) を示し、0 は制限がないことを示します。 max_execution_time の値は適切に調整できますが、0 に設定することはお勧めできません。

推奨チュートリアル: PHP ビデオ チュートリアル

以上がPHP および Nginx ファイルのアップロード サイズ制限の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。