新しくブログを新しく立ち上げるにあたって、久しぶりに使ったWordPressのテーマが「賢威7.0」です。

本当は手元にある「STORK(ストーク)」というイケてるテーマを使おうと思ったんですが、 ストークって1ライセンスで1サイトにしか使っちゃダメなんですね。ストークって10000円くらいするけど、1サイトにしか使っちゃいけないって何かえげつないな。

「まぁ、2サイトに使っても気づかないだろ・・・」「みんなやってるだろ・・・」とは思ったけど、面倒なことが起こると嫌なんでやめておきました。正義感とかそんなものではなくて、単にバレて問題になるのが怖いからです。

賢威テーマを使うと画面が真っ白に

ということで、ブログ構築中に気付いて、テーマをイケてるストークからイケてない賢威に変更しました。

でも、テーマを賢威にしてサイトを開いてみると・・・なんと画面が真っ白です。自作のテーマを適用して真っ白っていうことはよくあるけど、賢威をテーマにして真っ白になるというのは初めてです。

ストークが何か悪さをしてるのかなと思って、ストークのテーマを削除してもまだ真っ白。MySQLとファイル一式を全部削除して、イチから作り直しました。調査するのも面倒くさいでしょ。

で、あたらしいデータベースを作ってWordPressをインストールして賢威テーマをあててみても、やっぱり画面が真っ白。デフォルトのテーマ「Twenty Seventeen」は問題なく表示されるのに。仕方がない調査するか。

エラーの原因を調査。Use of undefined constant __DIR__

WordPressでエラーの内容を確認するには、

wp-config.phpの中の

//wp-config.php 69行目
define('WP_DEBUG', false);

の false を true にして、デバッグモードにします。

そして、またサイトを開いてみると真っ白だったところに、

Notice: Use of undefined constant __DIR__ – assumed ‘__DIR__’ in /home/myserver/www/mysite/wp-content/themes/mytheme/func_keni.php on line 69

とエラーが表示されました。

__DIR__という定数が定義されてないって言ってますね。確かにfunc_keni.phpを開いて見てみると69行目で__DIR__を使ってますね。

この__DIR__ などの’_’(アンダースコア)2個で前後挟まれている文字列はPHPであらかじめ用意されているマジック定数と呼ばれる定数で、そのマジック定数__DIR__が定義されていないってことはPHPのバージョンが断然怪しいです。

__DIR__がマジック定数として登場したのは、調べてみたところPHP5.3からです。自分のレンタルサーバーのPHPのバージョンを見てみると、PHP5.2でした。あ・・・これだわ。

PHP5.2なので __DIR__なんて定義されていないのに賢威で使おうとしているということですね。

賢威の公式サイトで見てみると要件として「PHP5.6以上」って書いてました。いつの間に・・・。

PHPのバージョンを7へ

PHPのバージョンを5.2から7にあげたら解決・・・なのですが、サーバーに入ってる他のサイトの影響も気になります。PHPのバージョンをあげたら文字化けした!!なんて事例はネットにゴロゴロしてます。

大事なサイトはバックアップして、まぁ消えてもいいかなというサイトはバックアップせず、思い切って「えいやっ!」とPHPのバージョンアップ。こういう時は思い切りが大事。(うそです。慎重にした方がいいです。もちろん仕事では慎重にします。)

レンタルサーバーでPHPのバージョンあげるのって、意外と今までやったことなかったな。そして、すぐ終わった。ワンクリックで完了です。5秒くらい??もっと早いかな。

ドキドキしながらサーバーに入っているブログ達を見てみたけど、どれも文字化けせずに正常に動いてました。よかった。

そして、この「等身大フリーランス」ブログも無事始めることができました!めでたしめでたしっと!