EC-CUBEの画像アップロードでメモリ不足?対処方法は?

EC-CUBEを使って運用しているサイトで、

商品画像をアップロードする際にエラーが発生する との連絡を受けました。

そのファイルは1.5MbyteのJpgファイルでしたが、 該当サイトでは5Mbyteの画像をアップロードしている実績があります。

ログをEC-CUBEのエラーログを確認すると、 以下のメッセージが出力されてました。

調べてみると、php.iniの「memory_limit」で 設定された値をオーバーしているとの事。(=メモリ不足)

上記ログの「33554432 bytes」より、 memory_limitは32Mbyteが設定されているようです。

※ローカルPC環境での値です。ロリポップは128Mでした。

スポンサード リンク

対応

運用しているのがレンタルサーバ(ロリポップ)なので、 PHP.iniの細かい設定を変える事ができない為、

gdthumb.phpのMainファンクションの頭の方に、 次の一行を加える事で解決しました。

memory_limitは-1を設定する事で上限無しにできます。

なお、現在の設定値を知りたい場合は、

とすれば、「32M」のような値が返ってきます。

しかし何故、そのファイルだけアップロードで、
多くのメモリを使ってしまうのか謎のままです。

JPEGでも圧縮の形式とか、色々とあるんですかね。。

以上、EC-CUBEネタでした。