2016-09-19 6 views
0

イメージファイルをWebサーバーにアップロードしようとしています。私はYii2フレームワークを使用しています。小さなファイルを問題なくアップロードできますが、大きなファイルをアップロードしている場合はアップロードできません。私はファイルがアップロードされている間、ブラウザでプログレスバーを見ることができます。ファイルのアップロードが完了すると、ファイルはサーバに保存されません。また、ブラウザはindex.phpの代わりにブランク画面を表示しますが、デバッグメッセージ(チェックポイント1 **)がログファイルに記録されます。Yii2大きなファイルでファイルのアップロードが機能しない

参考のためのコードです。

 if ($model->load($_POST) && $model->save()) { 
     $arrFile = UploadedFile::getInstance($model, 'file_location'); 
     if (!empty($arrFile)) { 
      $model->file_location = $arrFile; 
      $strFileName = $model->file_location->baseName . '.' . $model->file_location->extension; 
      Yii::error('Check point 1 ************* '. $strFileName); 
      if ($model->file_location->saveAs('uploads/newsletters/' . $strFileName)) { 
       $model->file_location = $strFileName; 
       $model->save(); 
       return $this->redirect('index'); 
       //return $this->redirect(['view', 'id' => $model->id]); 
      } 
     } else { 
      return $this->redirect('index'); //$this->redirect(['view', 'id' => $model->id]); 
     } 
    } else { 
     return $this->render('create', [ 
        'model' => $model, 
     ]); 
    } 
+0

サーバーの最大ファイルアップロードサイズを確認できますか? –

+0

@ManikandanS:私はコードにサイズ制限を指定していません。また、5GB以上のディスク容量も利用できます。 –

+0

以下のように@MoneerKamalの指示に従わなければなりません。値を変更した後、Apacheサーバを再起動してください。 –

答えて

0

あなたのphp.iniでこれを確認してください

upload_max_filesize = 64M 

必要なだけ大きく編集する

+0

@ManikandanとMoneer:ご協力いただきありがとうございます。この解決策が働いた。どういうわけか、このパラメータは私の共有Webサーバに反映されていませんでしたが、サーバチームの助けを借りて2Mから5Mに変更しました。アップロードしようとしていたファイルは2.6Mでした。再度、感謝します。 –

0

あなたはphp.iniでこれを変更する必要があります:

max_execution_time = 30 

またはあなたのPHPスクリプトで

set_time_limit(180); // Set max execution time 3 minutes. 
関連する問題