EWWW Image Optimizerを有効化するとエラーが出るときの対処法
症状
- 管理画面 > プラグイン から「EWWW Image Optimizer」を有効化するとエラーがでる
- ツールフォルダが作れない
EWWW Image Optimizer could not create the tool folder: /home/homepage/public_html/notes/wp-content/ewww/. Please adjust permissions or create the folder.
- 使用するプログラムがインストールされていない
EWWW Image Optimizer uses jpegtran, optipng, pngout, pngquant, gifsicle, and cwebp. You are missing: jpegtran, optipng, gifsicle. Please install via the Settings Page or the Installation Instructions.
- 以下の権限関係の設定を全部見直してみたがエラーは消えず。
- 各ディレクトリのパーミッション・所有者・グループ
- wp-content
- wp-content/plugin
- ホームディレクトリ
- サーバー側で設定したユーザーと所属グループ
- 各ディレクトリのパーミッション・所有者・グループ
解決方法:不足パッケージをインストールする
- まさに同じエラーに遭遇している方のエントリーに行き着いたので、以下を参考に実施。
optipng のインストール
# yum install optipng
gifsicle のインストール
# yum install gifsicle
ImageMagick のインストール
- あらかじめ必要なパッケージをインストール
# yum install ImageMagick
# yum install ImageMagick-devel
- peclコマンドを使えるようにする
# yum install php-pear
- peclコマンドでimagickをインストール
# pecl install imagick
- 上記を実行したら以下のエラーが出た。
Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/pear/PEAR/Frontend.php on line 91
- 以下のエントリーを参考に、remiレポジトリにyum updateをかけてみる。
# yum --enablerepo=remi-php71 update
- 再度以下を実行 →通った!
# pecl install imagick
- 実行後に出てくる下記文章はそのままreturn
Please provide the prefix of ImageMagick installation [autodetect] :
- php.iniを編集
# vi /etc/php.ini
- 一番下に以下の1文を追記して保存
extension=imagick.so
- Apacheを再起動
# systemctl restart httpd
- imagick が適用されているかを確認
# php -m | grep imagick
imagick
参考記事
動作確認
- 一度無効にしたあと、再度有効化を実行→エラーが消えた。
- wp-content内にも「ewww」ディレクトリが生成されているのを確認。