WP-CLIのwp core updateがobject-cache.phpを置くと出来なくなる
WordPressのWP-CLIを使ってwp core updateをしても更新しなくなったので調査したときの覚書。 Gemini 3.1 Pro Previewと対話。 環境: FreeBSD 14.3-RELEASE-p8, php 8.3.29 wp-cliのバージョン確認。 # wp cli version WP-CLI 2.12.0 1. object-cache.phpがあると失敗する理由 WP-CLI環境ではAPCuキャッシュが使えないため、せっかく取得した最新のアップデート情報がなってしまう。 wp core updateしたときの挙動 WP-CLIが起動すると、object-cache.php が存在するため、WordPressは「アップデート情報をデータベースではなく、APCu(APC User Cache)に保存するモード」に切り替わる。 WP-CLIが WordPress.org のAPIに問い合わせて「新バージョンがある」という情報を取得。 取得した情報をAPCuに保存しようとするが、CLI環境のAPCuは無効化されているため、コマンド終了と同時にメモリごと消滅。 結果として、「新バージョンがある」という情報がDBにも保存されず、メモリ上からも消え去るため、何度 wp core update を実行しても「アップデート情報がない=すでに最新版である」と誤認し続けてしまう。 2.開発環境ではCLI環境でもAPCuは有効化 object-cache.phpが存在すれば、WordPressはAPCuモードになるため、設定で対応する。 iniファイル確認。 # php --ini Configuration File (php.ini) Path: /usr/local/etc Loaded Configuration File: /usr/local/etc/php.ini Scan for additional .ini files in: /usr/local/etc/php Additional .ini files parsed: /usr/local/etc/php/ext-10-opcache...