Contact Info

  • aniuma OÜ Harju maakond, Tallinn, Lasnamäe linnaosa, Sepapaja tn 6, 15551

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

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

導入の方法

早速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:
同様の問題を抱えた人がいるみたいです。
https://github.com/TypistTech/image-optimize-command/issues/37

まとめと現状報告

Symfonyがうまく動いてないっぽいけどわからなく迷宮入りです。
情報求む

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です