2017-09-13 9 views
0

に排出可私はキューでExcelファイルからのインポートを発射したいので、私はない:
キューファイルlaravel - メモリサイズがキュー

/** 
* Execute the job. 
* 
* @return void 
*/ 
public function handle() 
{ 
    Excel::filter('chunk')->load(storage_path('engine-valves.xlsx'))->chunk(500, function($results) { 
     \Illuminate\Support\Facades\File::put(storage_path('data2.txt'), json_encode($results)); 
    }); 
} 

が、私は標準エラーAllowed memory size of xxx bytes exhaustedを取得プロセスを聞きに。ある瞬間、私はini_set('memory_limit', '-1');を設定しようとしましたが、まだこのエラーが発生しています。このエラーの完全な行は
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 100663304 bytes) in [app_path]\vendor\phpoffice\phpexcel\Classes\PHPExcel\Cell.php on line 889です。
私は使用しています:https://github.com/Maatwebsite/Laravel-Excel
どこに問題がありますか?

+0

ByteStreamなどで読み込む必要があるようにファイルが大きすぎます。 – aaron0207

答えて

0

はたぶん良い方法はありませんが、あなただけの方法で、メモリの制限付き

/** 
* Execute the job. 
* 
* @return void 
*/ 
public function handle() 
{ 
    ini_set('memory_limit', '-1'); 
    Excel::filter('chunk')->load(storage_path('engine-valves.xlsx'))>chunk(500, function($results) { 
    \Illuminate\Support\Facades\File::put(storage_path('data2.txt'), json_encode($results)); 
    }); 
} 

= -1、あなたは限界を持っていけないため、メモリの制限を設定することができます。

+0

質問に書いたように - 私はこれをテスト用に設定しましたが、まだこのエラーが表示されています。 –

関連する問題