この記事は約4分で読めます。
本文は約2431文字です
BizVektorの古いサイトをロリポップに移転したら500エラーになった時の解決方法
BizVektorのサイトをサーバー移転したら画面が真っ白 500エラーになってしまいました。
もう開発停止になってしまったのですが、BizVektorというビジネス向け無料テーマが人気がありました。
そのテーマで作られたサイトというのは未だにたくさん残っています。
先日、BizVektorを使っていたとても古い環境(WordpressとPHPバージョンが古い)のサイトをロリポップからロリポップに移転する機会がありました。
その時に、いろいろ想定外のことがあったのでまとめておきたいと思います。
移転元ロリポップのサーバー環境はかなり古かった
移転元のWordpressバージョンは、4.7でした。
PHPは5.3です。
設置後、完全に放置されていたようなサイトですね。
移転する時は、移転元と移転先の環境を揃えるのが必須条件なので、移転先でも同じようにWordpressとPHPのバージョンをそろえる必要があります。
移転先のロリポップサーバーにはPHP5が無かった
新規に契約したロリポップは、PHP7.4以上しか提供していませんでした。
今でもロリポップで、PHP5が使えているのは、過去にPHP5を使っていたサイトだけで、新規にPHP5を選択することはできません。
この時点でかなり嫌な予感がしました。
サイトのデータを移転したら500エラーになった
サイトの移転自体はドメインの変更が無ければ、プラグインを使わなくても簡単です。
今回は、プラグインを使う方がデータの転送が楽なので、プラグインを使いました。
移転先でデータのインポートをすると途中で500エラーになって先に進まなくなりました。
原因は?
色々調べて見ると、まず、PHP7.4に対応しているのはWordpress5.3以上、BizVektorはそもそもPHP7に対応していないとのこと。
- In WordPress version 4.1: Added support for PHP 5.6.
- In WordPress 4.4: Added support for PHP 7.0 (dev note).
- In WordPress 4.7: Added support for PHP 7.1.
- In WordPress 4.9: Added support for PHP 7.2.
- In WordPress 5.0: Added support for PHP 7.3 (dev note).
- In WordPress 5.2: Dropped support for PHP 5.2, 5.3, 5.4, 5.5.
- In WordPress 5.3: Added support for PHP 7.4 (dev note).
その後、wp-config.phpでエラーを表示させるようにして、メッセージを確認するとBizVektorがエラーを吐いていることがわかりました。
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
対応内容
まず、Wordpressのバージョンを5.4にしました。
ダウングレードするプラグインがあるので、簡単です。
BizVektorのエラーについては、検索すると定番の内容だったので、対応は簡単でした。
BizVektorはgithubに最新版が残っているので、エラーが出ているファイルがもしかしたら修正されている可能性もあります。
データベースのインポートは手動で
移転ツールが途中で止まっているのでDBのインポートまで進みませんでした。
phpMyAdmin経由でエクスポートして、phpMyAdmin経由でインポートしました。
table_prefixが変わってしまうので、wp-config.phpのtable_prefixを変更します。
ロリポップでコンパネ以外からPHPバージョンを変更できるか?
サブディレクトリだけPHPバージョンを変更する際に、.htaccessとphp.cgiの組み合わせで変更する方法があります。
ロリポップでも使うことができるので、PHP7.4しか提供していないサーバーでも、PHP5が使える可能性があります。
以下は、PHP8の例です。
サーバーにPHP5があればコンパネで選択出来なくてもPHP5を使うことができます。
#!/bin/sh
exec /usr/local/php/8.0/bin/php-cgi
Action myphp-script /zzz/php.cgi
AddHandler myphp-script .php .html
まとめ
WordPress 4.xやPHP5のサイトを新規契約のロリポップサーバーに移転するのはかなりリスキーです。
ロリポップサーバーはPHP7.4以降しか提供してないからです。
PHP7.4では、Wordpress5.3以上という制限も出てきます。
更新されていないプラグインやテーマはかなりの確率でFatabl エラーを吐く可能性が高いです。
その場合もエラーを表示させることで、一つ一つ解決していけば、サイトを表示させることができます。
コメント