2017-05-30 11 views
2

この問題に関する疑問がたくさんあります。しかし、私はまだ原因を理解できませんでした。 サイズ変更機能を追加すると、エラーが表示されます。134217728バイトのメモリサイズが使い果たされました(81920001バイトを割り当てようとしました)

Image::make($logo)->resize(200*200)->save(public_path('Uploads/logo/' . $fileName)); 

それ以外の場合は問題ありません。 関数は、なぜその量のメモリを消費しようとしますか?

+0

は、おそらくそれだけでは、単一の機能ではありませんが、あなたのスクリプトの集約のメモリ消費量が高いためです。その呼び出しは、限界を超えた最初のものでした。他の高メモリセクションを見つけるためにあなたのコードを調べてみてください。 – Sirko

+0

@Sirkoはその知識のおかげで.. :) – Azima

答えて

5

->resize(200*200)イメージのサイズを200ピクセル×200ピクセルに変更していない場合は、幅(20000×200、つまり40,000)の幅(第1パラメータresize

あなたは実行する必要があります。

Image::make($logo)->resize(200, 200)->save(public_path('Uploads/logo/' . $fileName)); 
0

サイズ変更は、大量のメモリを使用することができます。たぶんこの場合、元の画像は大きくなります。最初にJPGを平坦化してからサイズを変更することができます。あなたはPHPスクリプトの先頭にこれを追加することができます

増加にメモリ制限:

ini_set('memory_limit', '2G'); 
+0

私は画像を処理するときに2Gのメモリを使用するスクリプトを見ることに興味があります;) – Enstage

関連する問題