HTMLとPHPでファイルアップロード画面を作成しています。
1GB以下の小さいファイルサイズであれば問題無くアップロード出来るのですが、
2GBのファイルをアップロードしようとすると
「接続がリセットされました。」「ERR_CONNECTION_RESET」と表示され
ブラウザのエラー画面が表示されてしまいます。
■作成したHTML
HTML
1<!doctype html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>test</title> 6</head> 7<body> 8<form method="post" action="res.php" enctype="multipart/form-data"> 9ファイル:<input type="file" name="up_file"><br> 10<input type="submit" value="upload"> 11</form> 12</body> 13</html>
■作成したPHP
php
1 if(is_uploaded_file($_FILES['up_file']['tmp_name'])){ 2 3 if(move_uploaded_file($_FILES['up_file']['tmp_name'],"./".$_FILES['up_file']['name'])){ 4 5 //正常 6 echo "uploaded"; 7 8 }else{ 9 //コピーに失敗(だいたい、ディレクトリがないか、パーミッションエラー) 10 echo "error"; 11 12 } 13 }else{ 14 //そもそもファイルが来ていない。 15 echo "file not uploaded."; 16 } 17
HTTPサーバーのアクセスログを確認すると、ファイルを選択しsubmitした後の画面へのアクセスログが無く、サーバーまで到達していないように思えます。
PC(Win10/macOS High Sierra)やブラウザ(Chrome/Firefox/safari)を変えても変化は無く、環境側が原因では無いように思えます。
また、CPIの共有レンタルサーバーを利用しているのですが、
WAFは無効にしています。
ファイルサイズが2GB以上の場合にこのような現象が発生するのですが、
ブラウザ側のエラーが表示されないようにする方法はありますでしょうか。
どうぞよろしくお願いいたします。
■追記です。
php.iniにて以下の設定をしています。
phpinfo()にて反映を確認しています
upload_max_filesize = 3G
post_max_size = 3G
memory_limit = 3G
max_execution_time = 0
※max_execution_timeは30以上に設定してもphpinfoには反映されないため、あえて0に設定をしています。
また、CPIは「シェアードプラン ACE01」を利用しております。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。