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 サイトの他の関連記事を参照してください。