[image-optimize-command] WordPressの画像をWP-CLIを使って圧縮する方法

  • ブックマーク
  • -
    コピー
3年の間、毎日3~4記事ほど発信しているWebメディアのリニューアルと表示速度や管理画面の動作が重たくなってきたためメンテナンスの依頼を受けました。\
画像の入っているUploadsフォルダを見てみるとお50GB近くあり、原因としては多くの画像がまったく圧縮されていない状態で入っておりそのフォルダの圧縮を試みました。\
npmのimageminで処理をしようとしたところ各年の各月に分けた通しても数が多すぎて処理ができなかったため他の方法を模索して下記の記事にたどりつきました。
また上記の内容は下記のリポジトリに集約されているため下記のリンクだけを見ても大丈夫です。

導入の方法

早速WP-CLIのインストールしている環境で下記コマンドを実行したところ

wp package install typisttech/image-optimize-command:@stable

後述してあるエラーが表示されます。

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 10485760 bytes) in phar:///usr/local/bin/wp/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php on line 583

ローカル環境での実行でしたが、PHPの起動メモリがたりないということで設定を変更します。エラー文をググると下記ソースにあたったので参考通りに利用中のPHPとパスを調べ、php.iniのmemory_limitの値を修正します。512でもだめだっので1024に設定しました。(参考 : https://make.wordpress.org/cli/handbook/common-issues/#php-fatal-error-allowed-memory-size-of-999999-bytes-exhausted-tried-to-allocate-99-bytes) インストールが完了すると

Success: Package installed.

と表示されるので実際にコマンドを実行していきます。 なにかのエラー出て、画像が圧縮できませんでした。

PHP Fatal error:  Uncaught Error: Call to undefined method Symfony\Component\Process\Process::fromShellCommandline() in /Users/susumu/.wp-cli/packages/vendor/spatie/image-optimizer/src/OptimizerChain.php:97
Stack trace:

同様の問題を抱えた人がいるみたいです。

まとめと現状報告

Symfonyがうまく動いてないっぽいけどわからなく迷宮入りです。
情報求む
  • ブックマーク
  • -
    コピー

この記事を書いた人

Susumu Seino

1988年 東京都足立区生まれ。瀬戸内海の小島と東京に拠点を持ち、2020年からは夫婦でアドレスホッピングを計画しているデジタルノマドな日本人。デジタルパブリッシング代理店のアニューマの創業者です。