問題
Image WatermarkやEasy Watermarkの使用時、数MBの画像ならwatermarkの書き込みが成功する。
しかし数十MBの大きいサイズだと以下のようなエラーが発生し、失敗する。
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 36864 bytes) in {WordPressのあるディレクトリ}/wp-content/plugins/easy-watermark/src/classes/AttachmentProcessor/AttachmentProcessorGD.php on line 280 There has been a critical error on your website. Please check your site admin email inbox for instructions. Learn more about debugging in WordPress.
An error occured while processing 「20190210_151309」 (編集): Something went wrong. Please refresh the page and try again. Successfully watermarked {procesed} images.
対応方法
PHPのメモリ上限が低いため、画像を処理し切れず、エラーが発生している。
そのため、php.iniを編集してメモリ上限を引き上げる。
memory_limit = 512M
適切な値はサーバのスペック次第となるが、128〜256Mではメモリが不足する可能性が高い。
さくらのレンタルサーバの場合
サーバコントロールパネルから、PHP設定の編集へ進む。
以下のように値を入力し、php.iniを保存する。
512Mに設定すると、50MBの画像までならwatermarkを書き込めるようになった。