こんにちは!
今日はタイトルの通り「お名前.com」のレンタルサーバーの「共用サーバーSD」を利用しているWordPressサイトの本体のバージョン更新失敗からの復旧作業についてご紹介します。
先日この作業を行い、非常に苦労したので同じ状況にある方々の手助けになればと幸いです。
結論
お名前.comの共用サーバーSDで運用中のWordPressサイトが本体のバージョン更新に失敗してエラーになったけど、手動更新したら解決しました。
というお話です。
SDサーバーの速度が遅すぎてバックアップ取得やアップロードなどの作業が超大変だったよ
というお話もしているので、詳しくは読み進めていただければと思います!
発生したこと
WordPress本体のバージョン更新失敗によるエラー。
白い画面になり、「重大なエラー」と表示される。
以下のようなエラーメッセージが出ました
Warning: require_once(/export/sd219/www/jp/r/e/gmoserver/3/8/sd******/******(ドメイン)/wordpress-5.3.1-ja-jetpack_webfont-undernavicontrol/wp-includes/class-wp-textdomain-registry.php): failed to open stream: No such file or directory in /export/sd219/www/jp/r/e/gmoserver/3/8/sd******/******(ドメイン)/wordpress-5.3.1-ja-jetpack_webfont-undernavicontrol/wp-settings.php on line 155
Fatal error: require_once(): Failed opening required ‘/export/sd219/www/jp/r/e/gmoserver/3/8/sd*******/******(ドメイン)/wordpress-5.3.1-ja-jetpack_webfont-undernavicontrol/wp-includes/class-wp-textdomain-registry.php’ (include_path=’.:/usr/local/php7.3/lib/amd64/php’) in /export/sd219/www/jp/r/e/gmoserver/3/8/sd******/******(ドメイン)/wordpress-5.3.1-ja-jetpack_webfont-undernavicontrol/wp-settings.php on line 155
class-wp-textdomain-registry.phpというファイルがwp-includeの中に必要とするファイルが見つからないというエラーのようです。
最初「jetpack」と記載があるのでプラグインの干渉かな?とも思い、wp-content内の「plugins」を「plugins.hold」というように変更し、無効化しましたが解決はしません。
エラー文の一部で検索すると似た事例が複数出てくる
エラー文の一部「wordpress-5.3.1-ja-jetpack_webfont-undernavicontrol」で調べてみると、同様の問題にぶち当たったケースが散見されます。
ケース② 『Fatal Errorの修復方法について教えてください』
いずれも、「WordPressの手動更新」で問題を解決しているようです。
原因
WordPress本体のバージョン更新失敗。
そもそものサーバーの速度が遅いので、途中で更新が止まってしまったのだと推測します。
必要な作業
バックアップ取得(Webデータ&データーベース)とWordPressの手動更新。
wordpress.orgから最新の(または更新したいバージョンの)WordPressのデータをダウンロードし、wp-contentを除いたものをFTPなどを使って既存のWordPressのデータフォルダ・ファイル郡を上書きします。
手動更新の手順
- WordPress.orgから最新のバージョンの(または更新したいバージョンの)WordPressをダウンロード
- ダウンロードしたものから、wp-contentを削除
- FTPを使ってダウンロードしたWordPressをアップロード(上書き)
エックスサーバーなどの高速なサーバーであれば何の問題もなく終わる作業ですが、SDサーバーは転送速度が非常に遅く、そう簡単には行きませんでした。
注意点
- 必ず事前にWebデータ・データベースのバックアップを取りましょう
- ダウンロードしたWordPressのwp-contentは上書きするとテーマやプラグイン、画像データが消えてしまいます
- ダウンロードしたWordPressにはwp-configや.htaccessは含まれていないと思いますが、念のため確認してもしあれば除外しておきましょう
- 共用サーバーSDの転送速度は極めて遅いので、小分けにして転送しましょう!
- 小分けにする場合、間違った場所にフォルダやアップロードしないように気をつけましょう
- 小分けにアップロードしても、中にはきちんとアップロードされてないものもあるので気をつけましょう
極めて遅い、というより途中でブツブツ接続が切れてしまい、転送失敗しまくるのでWordPressのフォルダ丸々転送はできませんでした。
そのような場合、1つ1つのディレクトリごとに転送することをおすすめします。
手動でやるので、ファイルやフォルダを間違った場所にアップロードしないように気をつけましょう!
※私は間違ってしまいました
また手動アップロードが未遂に終わるケースもあり、エラーが増えてしまったので要注意です。
手動更新も、アップロードが不完全だったりアップロード先をミスったり、エラーと闘い、何とか管理画面に入ることができました。
サイトの方も何故かルートディレクトリのhtaccessとindex.phpがなくて403エラーになってたりと色々ありましたが、htaccessとindex.phpを追加して解決に至りました。
データーベースのバックアップ取得
お名前.comのSDサーバーにはデーターベースを操作するphpMyAdminなどのアプリケーションが導入されていません!
なので、自分でphpMyAdminを公式からダウンロードして、お名前.comのマニュアル通り進めていきます。
しかし、SDサーバーの転送速度は極めて遅いため、phpMyAdminのアップロードにもかなり時間を要し、その後も500エラーに苦しむなど、非常に苦労しました。
phpMyAdminではなく、Adminerがおすすめ!
そこで、Adminerの登場です。
このツールは1つのphpファイルのみをアップロードするだけで動作するので、SDサーバーのキャパシティでも全然余裕です。
- 公式からダウンロード
- FTPなどを使い、サーバーの公開領域に配置
- 【ダウンロードしたバージョンがadminer-4.8.1.phpであれば】https://(ドメイン)/adminer-4.8.1.phpへアクセス→ログイン(サーバーのホスト名・ユーザー名・パスワードを入力)
管理画面に入った後の処理
手動更新に成功して、ダッシュボードに入れたらこっちのものです。
入ってみるとダッシュボードの左上に「更新に失敗しました」というようなメッセージが出ています。
All in One WP Migrationでバックアップを取ってダウンロードした上で、ダッシュボード上でWordPress本体の更新を改めて行いました。
無事、更新に成功し「更新に失敗しました」というメッセージは消え、更新・復旧は完了です!
まとめ
まとめると以下のとおりです。
- エラーの原因はWordPress本体のバージョン更新失敗
- WordPressを手動更新すれば良い
- SDサーバーは転送遅いのでバックアップ取得が大変。根気よく丁寧にやりましょう。
- SDサーバーはデーターベース操作アプリがないので、Adminerの導入がおすすめ
- バックアップが取れたら、更新したいバージョンのWordPressをwp-contentを除いてFTPでアップロード
本来は難しくない作業ですが、SDサーバーのスペック・仕様によってかなりの工数がかかりました。
根気よく丁寧に、慎重に作業していきましょう!