またしてもウェブ作成上の難問にぶつかったので、解決策をメモしておきます。
今回は以前作ったWordPressのサイトに適用してあった賢威というテンプレートのバージョンを7から8にアップグレードしようとしたときの解決策です。作成時のロリポップサーバーのphpバージョンが5.3であったために難航しました。
賢威のサポートサイトとロリポップサーバーの管理画面からのリンク先をよく読めば分かることなのですが、他にも同じ問題を抱えているサイトがあるので、次回同じ作業をするときのためにもここにメモしておきます。
以下は作業の前提条件
- まず、WordPress版賢威8をインストールするためには賢威7の最新バージョンが必要。
- WordPress版賢威7の最新バージョンをインストールするためにはphpバージョン5.6以上が必要。
- WordPress版賢威8をインストールするためにはphpバージョン7.1以上が必要。
- WordPress日本語版の推奨はphpバージョン7.2なんですが、ロリポップサーバーでサポートしていないと思われるため、7.1を採用します。
- ここで一応WordPressのバージョンが4.9.8以上、MySQL バージョンが5.6 以上であることも確認しておきます。(一応と書いたのは私の環境がクリアしていたためです…。)
以下が実際の変更作業です。
- ロリポップサーバーで該当ドメインのphpバージョンを7.1に変更(設定反映に5~10分必要)
- ここでサイトが表示されるかどうかチェック。
- 表示されなかったらデータベースパスワードを変更(「old_password形式」から「native_password形式」へ更新)
- 再度サイトが表示されるかチェック。
- 表示されたらWordPressを最新版に更新。
- 再度サイトが表示されるかチェック。
- 問題なかったらWordPress版賢威8をインストール。
- 賢威のサポートサイトを見ながら、データ移行プラグインをインストールしてデータ移行を実行。
- 再度サイトが表示されるかチェックして問題がなければOK!
一度やってみれば何てことはないのですが、やる前は不安でいっぱいでした。今のところ問題なく表示されているのでこのまま様子見をしていきます。
途中、ちょっと面倒くさいことも起こりました。同じドメイン下の別の場所に置いてある普通のhtmlで作ってあるサイトが文字化けしてしまったのです。
なぜならばphp5.6以上はdefault_charsetがUTF-8になったからなのだそうです。
サイト自体がShift_JISで作ってあったためにぜーんぶ文字化け!
ちょっとあせりましたが、以前にもこんなことがあったので記憶をたどり、ググりながら解決策を探りました。
実際の解決策はロリポのphp.ini設定でdefault_charsetをShift_JISにしたことです。
同じドメイン内のWordPressのサイトの方はこのdefault_charsetがUTF-8にしろShift_JISにしろ問題なく表示されているのがどうしてか分からないのですが、これ以上理解しようとするのは私にとってキャパオーバーなので、結果オーライということにしておきます。
あともう一つ修正事項がありました。
上記のサイトはhtml上でphpを動かすために.htaccess上に AddHandler php5.3-script .html という1行が書かれてあったのですが、phpバージョンを変更したためこちらの記載も7.1に変更になりました。
これで、とりあえずは問題ないはず。何かまた問題があったら追記します。
あぁ、このサイトも賢威7なんだなぁ…。
…ふぅ。
サーバーのことって難しいね。