WordPressでSQliteが使えない理由と対応策

ネザーの父
ネザーの父
レンタルサーバーではMySQL制限により、ワードプレスの利用を諦めている方はいませんか?それを救うのがSQ-liteのデータベースです。
ワードプレス本体での公式対応が発表されましたが、まだテスト中の状況も含めた現状、内容も解説します。

MySQLが使えないサーバーでワードプレスを使う

MySQLが使えないサーバーですが、SQLITEが使えるサーバーや契約の方も多いでしょう。
(さくらのライトプランなど)
また。MySQLの制限個数を使い切ってしまったケースでもSQLITEが最適です。
wordpressの自前インストールができる方なら、利用できるレベルです。
※wordpressではsqliteは非推奨です。バージョンアップ等で動かなくなる、プラグインが動かない場合があるなどの自力解決を試行する必要はあるでしょう。自己責任の上、ご利用ください。

SQ-liteならワードプレスで使える

そんな方へSQLITEのDBだけでワードプレスを使う方法を解説します。

ワードプレスはサポート対象外

ワードプレス自体はSQ-Liteの使用は認めていませんのでプラグインを経由して、疑似的にSQ-Liteを使用するイメージです。

さて、ワードプレス未経験者の方にとっては、ネットに転がっていたSQ-Lite手順だけでは、たぶんログインエラーで止まってしまうような粗削りな情報が多いようです。そこで、以下に整理してみました。と言ってもハードルは高いかもしれません。

インストールの方法

  1. WordPress日本語 のファイルをダウンロードして、解凍。
  2. 「SQLite Integration」 をダウンロードして、解凍。
  3. を、wp-content\plugins\sqlite-integrationへコピー。
  4. sqlite-integration\db.php を wp-content\ へコピー。
  5. トップにあるwpconfig-sample.phpを開く
  6. 認証用ユニークキーの項目へ、https://api.wordpress.org/secret-key/1.1/salt/
    にアクセスして、発行された内容をコピペして保存。
  7. PCの内容をサーバーへ丸ごと転送する。
  8. 自サイトurl/wp-config.php をブラウザから指定して、ログインする。

という流れでログイン成功までたどり着けました。

SQ-Liteのデメリット

プラグインが動かない

動かないプラグインや過去に動いていたが、動かなくなるプラグインもあります。

MySql用のDB処理、関連記事や人気記事などの集計操作が出来ない場合があります。ただし、Top10、Relatedpostなど、Sq-lite上でも動く、代替プラグインが必ずありますので、一つのプラグインが動かない場合、他で同一機能のプラグインを一通り試してみましょう。

過去に動いていたケースでは、不具合命令の修正方法を解説しているサイトもあります。

処理負荷が高く、表示が遅いのか?

google検索では、表示スピード重視の傾向となっていますので、下記のサイトで表示時の遅さを確認してみましょう。

google speed insights

サーバー側の処理が遅いというよりも、広告量が画像が重かったりというケースが多いです。少なくともコンテンツの構成により、Sq-liteでも十分合格可能な数値を確保できます。
しかし、高負荷時のアクセス数となった場合は、閲覧スピードが遅延する可能性もあります。
これも、キャッシュプラグインなどにより、一定回避可能です。
よって、Sq-liteも高速化を考慮したサイト構成であれば、一般論として語られているほどの遅さは感じないという結論となります。

ワードプレス本体がSQliteに対応するとか

  • 2022年9月:ワードプレス公式が、SQliteをサポート予定とする見解を発表
  • 2024年8月:従来プラグイン無しでの稼働を確認(公式発表は、まだ無し)
  • 公式発表はまだ無く、チャレンジャーの方へのご案内となります
  • 以下の方法で、稼働確認済です。(WP6.5、PHP7.4:2024/8)

ワードプレス本線のSQlite利用手順

下記は、従来のプラグインを利用していた場合のアップデートの方法になります。

  1. SQlite integrationで稼働済となっていることが前提
  2. ワードプレス:設定>エクスポートで、データをバックアップ
  3. FTPでwp-content/databaseの中身もバックアップ
  4. 下記サイトにアクセス
  5. https://github.com/aaemnnosttv/wp-sqlite-db/blob/master/src/db.php
  6. 上記サイトの上記ボタンをクリックし、「db.php」をダウンロード
  7. ワードプレスの「wp-content」フォルダ配下へ、アップロード
  8. wp-content/database :ココに過去のデータが存在していること。
    (これは過去のSQliteプラグインで利用していたデータがそのまま継続利用可)
  9. SQlite integrationなど、従来プラグインを消す(ココがポイント)
  10. 正常稼働を確認する

注意事項

  • SQlite integrationのインストール手順により、初期インストールを行い、上記の上書き手法により、本線SQlite化への移行が可能となります。
  • PHP8.xにしたところ、エラー多発です。PHP7.xまでを推奨します。

2024/9:WP本体への組み込みテスト中

まだ、テスト中のようですが、以下の方が信頼性は高いかもしれません。

SQLite Database Integration – WordPress プラグイン |WordPress.org

プラグイン「SQLite Integration」(従来の方法)

従来から提供されている「SQLite Integration」のプラグインを用いて利用する手法が一般的でした。

SQLite Integrationの公式サイトがサポート切れ

SQLite Integrationの公式サイトからのダウンロードが出来なくなっています。
SQLiteが可のサーバーでは、ワードプレスでも利用可能です。(2021/3)

SQLite Integrationのダウンロード(Github)

以下のGithubでは、まだダウンロードができます。(2015/8が最終版)

GitHub - jumpstarter-io/wp-sqlite-integration: Jumpstarter fork of https://wordpress.org/plugins/sqlite-integration/developers/.
Jumpstarter fork of - jumpstarter-io/wp-sqlite-integration

改造版を利用する

SQLiteでWordPressを使う『SQLite Integration改造版』

上記にて、1.81.のPHP 7.x用ファイルが提供されています。
PHPのバージョンが一致する方は、対応することを推奨します。以下が手順になります。
※PHP7.4で稼働確認済(2023)

インストールの方法

  1. 上記サイトにて、Downloadボタンをクリック
  2. グリーンの「Code」ボタンから、「ZIP」をDownload
  3. 解答してそのまま、「wp-sqlite-integration-master」のフォルダをpluginフォルダへコピー
  4. 上記の解答ファイル内から「db.php」 を wp-content\ へコピー。
  5. トップにあるwp-config-sample.phpを開く
  6. 認証用ユニークキーの項目へ、https://api.wordpress.org/secret-key/1.1/salt/
    にアクセスして、発行された内容をコピペし、「wp-config.php」の名前で保存。
  7. PCの内容をサーバーへ丸ごと転送する。
  8. 自サイトurl/wp-config.php をブラウザから指定して、ログインする。
  9. ワードプレス上のプラグインメニューで、旧sqliteを無効化
  10. 今回入れた新sqliteを有効化にて、稼働開始!

データベースの更新が必要です。エラーの対処法

WordPressのバージョンアップ後、「データベースの更新が必要です」というエラーが出ると焦りますね。
データのバックアップを取ろうが、システム更新前の状態へ即時復旧できないので、対策前進や全戻しという非常に過酷なリカバリー方法しかないのは、どうにかして欲しいものです。

function.phpでエラー自動回避(恒久対応)

ワードプレス側のエラー表示をスルーする対応です。こちらを推奨します。

【WordPress+SQLite】「MySQL 5.5.5 以上が必要です」というエラーを自動的に解消する

手動でバージョン書き換え(都度対応)

以下は、sqliteのDB上のバージョン番号とシステムが保持する新バージョン番号が不一致になった場合の復旧方法です。バージョンアップによるエラー発生の都度、実施する必要があり、非常に手間であるため、この方法は推奨しません。

WordPressを6.xに更新したら「データベースの更新が必要です」と出て、動かなくなってしまった

コメント