古いWordPressをフォルダごとダウンロードされています。
データベースが使えないサーバーだったのえ、SQliteを使って動いていたWordPressのサイトです。
データベースのファイルの日付を確認したところ、2015年でした。
このサイトをXサーバーで運用できるように復旧したいのですが、データベースを読み込みできず困っています。
Sqliteを使ってWordPressは、起動できました。
でも、手元にあるデータベースを読み込むことができず、記事を復旧できないのです。
このエラーが出ます。
Fatal error: in /home/hoge/wp2/wp-content/plugins/sqlite-integration/pdoengine.class.php on line 251
PHPは、7.4.25です。
PHPのバージョンを下げようとしましたが、エラーで出来ませんでした。
プラグインのsqlite-integrationを削除すると、WordPressの起動出来ます。
プラグインのところで、ドロップインを見てみたら、ちゃんとデータベースは、ありました。
このファイルを今ままで使っていたファイルに、入れ替えできたら良いのですが。
単純にファイルの上書きを行っても、できませんでした。
こちらの記事を読んで、SQliteマネージャーを知りました。
https://allabout.co.jp/gm/gc/47422/
サーバーアップロードしましたが、エラーになりました。
Deprecated: Non-static method sqlite::getDbVersion() should not be called statically in /hoge/SQLiteManager-1.2.4/include/SQLiteAutoConnect.class.php on line 12
##解決の方針
一番望む解決状態は、WordPressのテーマなど外見は、どうでも良いです。
過去に投稿された記事を WordPressで表示できること、編集できるようにできることです。
でも、これまで私が試した中で、PHPのバージョンが上がってしまっているため、低いバージョンのPHPが使えるサーバーでないと、復旧できないのかなと推測しています。
そのためデータベースから内容をエクスポートすることができたら、助かります。
データをエクスポートする方法を、ご教授頂けましたら幸いです。
そして、今のバージョンのPHPで動いているWordPressに、データをインポートして使うことができたらと思っています。
##代替え案
こちらのソフトを使い今回のデータベースが、生きていることを確認できました。
https://jp.navicat.com/
SQL形式でデータベースを保存できましたので、サーバーのデータベースにインポートして、記事の復元を目指しています。
##DB Browser for SQLiteを試しました。
添付した画像のように、syntaxエラーが出ました。
##SQliteのインポートで、エラーが出ています。
SQL
1sqlite> .read ./database/.ht.sqlite 2Error: near line 1: in prepare, near "SQLite": syntax error (1) 3Error: near line 228: in prepare, near "";s:7:"": syntax error (1) 4Error: near line 298: in prepare, near "";s:7:"": syntax error (1) 5Error: near line 802: in prepare, near "RewriteEngine": syntax error (1) 6Error: near line 1019: in prepare, near "return": syntax error (1) 7Error: near line 1020: in prepare, unrecognized token: "}" (1) 8Error: near line 1022: in prepare, near "$args": syntax error (1) 9Error: near line 1026: in prepare, near "$my_limi": syntax error (1) 10Error: near line 1027: in prepare, near "?": syntax error (1) 11Error: near line 1029: in prepare, near "&": syntax error (1) 12Error: near line 1031: in prepare, near "&": syntax error (1) 13Error: near line 1033: in prepare, near "&": syntax error (1) 14Error: near line 1034: in prepare, near "&": syntax error (1) 15Error: near line 1035: in prepare, near "&": syntax error (1) 16Error: near line 1040: in prepare, near "&": syntax error (1) 17Error: near line 1064: in prepare, near "&": syntax error (1) 18Error: near line 1065: in prepare, near "&": syntax error (1) 19Error: near line 1221: in prepare, near "/": syntax error (1) 20Error: near line 1223: in prepare, near "/": syntax error (1) 21Error: near line 1225: in prepare, unrecognized token: "}" (1) 22sqlite>
Navicast15 でSQLで保存したものをインポートした時も、同じエラーが出ました。
エラーの内容をネット検索して調べている段階ですので、まだ進展がないです。
##XAMPPで復旧を試みたところエラーが出る
ダウンロードされたWordPressのファイルをXAMPPのフォルダに入れて、起動しました。
インストールの画面が表示され必要な項目を入力して進めましたが、エラーになりました。
Error occured while creating tables or indexes...
Query was: array ( 0 => 'CREATE INDEX IF NOT EXISTS user_login_key ON wp_users(user_login)', 1 => 'CREATE INDEX IF NOT EXISTS user_nicename ON wp_users(user_nicename)', )
Error message is: malformed database schema (wp_blc_filters) - near "�V": syntax error
データベースが破損しているように思われるので、修復方法をご教授頂けましたら幸いです。
XAMPPは、PHP5.6です。
##コマンドラインで修復を試みましたが、同じ文字でエラーです。
bush
1.ht.sqlite .dump | sqlite3 .ht_new.sqlite 2Error: near line 76: near "�V": syntax error
ひょっとしたらデータベースの文字コードが、違うのでしょうか?
でも、Navicast15で表示したら、投稿された記事を読むことができました。
SQlite3とSQLite2は、違うそうですが・・・
今回2015年に稼働していた WordPressなので、SQlite2の方ではないでしょうか?
SQlite3で修復や読み込みができたら良いのですが、引き続きご教授して頂けましたら幸いです。
Navicast15でクリエとして表示すると、このようになります。
エラーの71行目は、BSとSOHになっています。
この様子では、文字化けの可能性は、少ないでしょうか?
##dumpしてみました。
/**** ERROR: (11) database disk image is malformed *****/
というエラーが表示されました。
こちらの記事を見つけましたので、これから試します。
https://qiita.com/rupao/items/84fef2d27ae1e7d6a51e
##タイトルが勝手に修正されることに対して
質問の内容が伝わらなくなってしまうので、正確な内容に書き換えました。
「依頼主から受け取った2015年当時稼働していたWordPressを、Xサーバーで稼働できるようにしたい」が、本来の依頼内容です。
でも、Sqliteのデータベースの破損が確実となり、syntaxエラーの修正を模索しているところです。
NIVECAST15でクリエの表示ができたので、修正を試みています。
でも、下記の部分の90行目の
SQL
1tablewp_blc_filterswp_blc_filtersCREATE TABLE wp_blc_filters (
のwp_blc_filterswp_blc_filtersが重複しているのかな?と思い一つ減らしたら、syntaxエラーは、なくなりました。
でも、
データベースファイルを開けません。
理由: malformed database schema (swp_blc_filter)
というエラーが出てしまい、GUIのツールで読み込みできないです。
元に戻すとsyntaxエラーが出ます。
##VS CODEの拡張機能を使っても同じエラー
malformed database schema (wp_blc_filters) - near "�V": syntax error
と同じエラーになります。
NAVI CAST For Sqwliteを使うとソースの修正ができますが、正しい形式を知らないので、復旧できないのです。
修正の仕方を教えていただけましたら、幸いです。
##文字コードも関係あるかも・・・
今日気が付きました。
出先でWindowsのパソコンでVC CODEを使って、挑戦しました。
送られてきたZipファイルを解凍したら、ファイル名が文字化けしていたのです。
よく確かめてみると、依頼主は、Macで圧縮ファイルを作ったようです。
解凍して得たデータベースファイルをVC CODEでSqliteの拡張機能を使い開こうとしたら、エラーが出て開くことができませんでした。
私は、Macで作業していたので、気が付かなったのです。
このデータベースのSyntaxエラーは、何か関係あるかもしれないですね。
データベースの文字コードの件は、数か月前にハマった経験があります。
今回も、とても気になっています。
データベースの文字コードを調べる方法を、ご教授頂けましたら幸いです。
##クリエの冒頭にSQlite3とあります
このように書かれてあるということは、SQlite3と認識してよろしいですか?
今は、折角 WordPressに書かれた記事を取り出すことができるように、新規にSQLite3データベースを作った WordPressを作って、模索したいと思っています。
アドバイスなど頂けましたら、幸いです。
##データベースのヘッダーを入替えも、状況に変化が無いです。
データベースとして復旧してWordPressを復旧できたら良いのですが、せめて投稿された記事を取り出すこともが出来たらと思い挑戦を続けています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/02 05:48
2021/12/02 13:10
2021/12/02 13:13
2021/12/02 13:17
2021/12/03 04:55