Open Upload
・https://urashita.com/archives/35390
を使っていて、PHPで200MBを超えるファイルをアップロードすると出てきたエラーとその解決方法についてまとめた。
POST Content-Length of 467889812 bytes exceeds the limit of 209715200 bytes
PHP Warning: POST Content-Length of 467889812 bytes exceeds the limit of 209715200 bytes in Unknown on line 0, referer: https://openupload.xxx.yyy/www/index.php?action=u
467MBのファイルをPOSTしようとして、制限が209MBなので送れないっていう警告のようです。
原因と解決策
原因と解決策は、Stack Overflowなんかにも何度も書かれていました。
・https://stackoverflow.com/questions/11719495
8388608 bytes is 8M, the default limit in PHP. Update your post_max_size in php.ini to a larger value.
upload_max_filesize sets the max file size that a user can upload while post_max_size sets the maximum amount of data that can be sent via a POST in a form.
So you can set upload_max_filesize to 1 meg, which will mean that the biggest single file a user can upload is 1 megabyte, but they could upload 5 of them at once if the post_max_size was set to 5.
Changes will take effect after a restart of the server.
PHPの設定ファイル
/etc/php.ini を編集して、post_max_sizeとupload_max_filesizeを変更する必要があります。
1 2 |
post_max_size = 1000M upload_max_filesize = 1000M |
2つのファイルを1000Mに変更しました。
ちなみに、openuploadでは上記の設定を行ってもopenupload側でそれを上書きするようになっていました。
openupload/www/.htaccess
1 2 3 4 5 |
# Set this accordingly to your installation # N.B. For this to work, you'll need "AllowOvverride Options" in apache dir config php_value file_uploads "On" php_value upload_max_filesize "200M" php_value post_max_size "200M" |
分かりにくいので、openupload側の設定をコメントアウトしてPHPの設定を利用することにしました。
openupload/www/.htaccess
1 2 3 4 5 |
# Set this accordingly to your installation # N.B. For this to work, you'll need "AllowOvverride Options" in apache dir config php_value file_uploads "On" #php_value upload_max_filesize "200M" #php_value post_max_size "200M" |
このあと、Apacheをreloadします。
コメント