WordPress + SQLite Integration を PHP 8.Xにアップグレードした時に「There has been a critical error on this website.」とエラーになる件

MySQL無しにWordPressを利用するためのプラグイン「SQLite Integration( https://ja.wordpress.org/plugins/sqlite-integration/advanced/ )」。デファクトとも言えるのだけれども、いかんせん古く、すでにダウンロードもできなくなっている状況。ただし、PHP7.X時代までは、一部問題点もあったけれども、「SQLite Integration update-option Patch」ってのもあって、使っている人も少なくないかも。と思ったらダウンロード数6万弱。多いのか少ないのか。。。

SQLite Integrationを使っていたらPHP8.Xにアップデートできなかった

PHPのEnd of Life(EOL)。いわゆる、サポート切れ問題。PHP 7.X台の最終版7.4.XのEOLは、PHP: Supported Versions にもあるとおり、2022年11月28日。早急に、8.Xへの移行が必要。まぁ、前々から知っていたのだけれども、当月になってお尻に火が付いたってことで作業開始。

単純にPHPのバージョンを8.Xにアップデートしてみると

There has been a critical error on this website.
Learn more about troubleshooting WordPress

とエラー発生。原因究明はしていないが、SQLite IntegrationがPHP7.X以前のコーディングに依存している模様。

救世主は「wp-sqlite-db」

aaemnnosttv/wp-sqlite-db: A single file drop-in for using a SQLite database with WordPress. Based on the original SQLite Integration plugin. (github.com)

これで解決。WordPressを新規に立ちあげるなら、最初から、wp-sqlite-dbの利用で良さそう。SQLite Integrationからの移行が気になるところだったのだが、とりあえず、db.phpの入れ替えだけで動いているようにみえる。入れ替えの前には、バックアップをオススメのと、リスクは考慮した上での実行が必要。

他のプラグインとの兼ね合いもあるしね。