ホームページ  >  記事  >  バックエンド開発  >  PHP 構成ファイルを変更して大きなファイルをアップロードするためのいくつかの方法 (Apache/nginx)_PHP チュートリアル

PHP 構成ファイルを変更して大きなファイルをアップロードするためのいくつかの方法 (Apache/nginx)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:48:201093ブラウズ

php.iniのpost_max_sizeとupload_max_filesizeのパラメータを変更しないと、デフォルトでは2MBまでのファイルしかアップロードできなくなります。 ファイルが数十MB以上の場合はアップロードできません。 PHP設定ファイルのアップロードサイズについては、いくつかの方法がありますので、皆さんのお役に立てれば幸いです

Windows+Apache+php環境

Apache での最も一般的な PHP アップロード ファイル サイズ制限は、php.ini 設定ファイルを通じて定義されます。次の 3 つのフィールドの値を変更し、サーバー側プログラム (Apache など) を再度有効にすることで、PHP アップロードが行われます。ファイルサイズ制限は正常に変更できました:

upload_max_filesize = 8M
post_max_size = 10M
メモリ制限 = 20M

具体的な構成は以下の通りです

php.iniで検索

コードは次のとおりです コードをコピー

最大実行時間

デフォルトは 30 秒です。

に変更します。
コードは次のとおりです コードをコピー

最大実行時間 = 0

0は制限なしを意味します

上記の変更はphpアップロードファイルのスクリプト実行タイムアウトです

2. post_max_size を変更して、POST データに許可される最大サイズを設定します。この設定は、PHP アップロード ファイルにも影響します。
PHP のデフォルトの post_max_size は 2M です。POST データ サイズが post_max_size より大きい場合、$_POST および $_FILES スーパーグローバルは空になります。

post_max_size を探してください。

に変更します

コードは次のとおりですコードをコピー
post_max_size = 150M

3. 多くの人は 2 番目のステップを変更しますが、PHP でファイルをアップロードする場合、最大サイズは依然として 8M です。 アップロードされるファイルの最大サイズを示すために、パラメータ Upload_max_filesize も変更する必要があるのはなぜでしょうか。

Upload_max_filesize を見つけます。デフォルトは 8M ですが、
に変更されています。

コードは次のとおりですupload_max_filesize = 100Mもう 1 つ注意すべき点は、PHP ファイルをアップロードするときは、post_max_size を Upload_max_filesize よりも大きくすることをお勧めします。
コードをコピー

nginx+phpアップロードファイルサイズ構成の変更

以前はPHPを使用してファイルをアップロードしていましたが、数日前にサーバー環境を変更しました(nginx + phpを使用)。長い間苦労した後、オプション値が原因で nginx の client_max_body_size 設定がエラーになることがわかりました。では、その対処法をシェアしていきましょう。

問題の説明:
php.ini設定ファイルのupload_max_filesizeは50Mに設定されています
post_max_size で設定される値は 100M です
ただし、10 MB を超えるファイルをアップロードすると、uploaderror 413 エラーが返されます。
サーバー環境:
centos5.7 32ビット
nginx1.0.8
php5.2.17

解決策:

1. アップロードファイルの制限が 50MB の場合は、まず php.iniupload_max_filesize を 50M に変更します

コードは次のとおりですpost_max_size 100M

2. 次に、nginx 構成ファイルを変更します。 この設定オプションのデフォルト値は 1m ですが、ファイル サイズ制限を増やすには 8m に増やすことができます。ここでは、特定の状況に応じて設定できます。 (参考: client_max_body_size のサイズは、php.ini の Upload_max_filesize および post_max_size の最大値と一致するか、それより若干大きくする必要があります。これにより、送信されたデータ サイズの不一致によるエラーが発生しません。)

コードをコピー

コードは次のとおりですコードをコピーclient_max_body_size 100m;

http://www.bkjia.com/PHPjc/632790.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632790.html技術記事 php.ini では、パラメータ post_max_size と Upload_max_filesize を変更しない場合、デフォルトでは最大 2MB までのファイルしかアップロードできません。ファイルが数十 MB 以上の場合はアップロードできません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。