だるかったPHP 7.x対応をした
完全に反面教師なのですがmokabuu.comはずっとPHP 7.x対応を見送ってきました。
ずっとPHP 5.6で動いており、2018年12月末にサポートが切れた後も見て見ぬ振りをしてきました。
それと言うのも、PHP 7.1に上げた瞬間に、
Parse error: syntax error, unexpected ‘new’ (T_NEW) in /xxxx/wp-content/plugins/exec-php/exec-php.php on line 22
と言う素敵なエラーが出てきたからです。
対応が面倒臭かったので臭いものに蓋をしたのですが、コロナウイルスの影響で毎日往復60分の通勤がなくなったため、その時間でエラー解消をすることにしました。
修正方法
Parse error: syntax error, unexpected ‘new’ (T_NEW) in /xxxx/wp-content/plugins/exec-php/exec-php.php on line 22
エラー文言が指し示す通りに「/xxxx/wp-content/plugins/exec-php/exec-php.php 」の「22行目」を確認してみます。
$GLOBALS[‘g_execphp_manager’] =& new ExecPhp_Manager();
なるほど!
$A =& $B
の構文がPHP 7.xに対応していないためエラーが出ているように見えます。
これ何かと言うと、$Aと$Bの参照先を同じにしろと言うプログラムです。PHP 7から新しいオブジェクトを参照渡し出来なくなったためですね。
なので、私は以下のように直しました。
$GLOBALS[‘g_execphp_manager’] = new ExecPhp_Manager();
ちなみに、これと同じエラーが全部で何箇所もあるので、エラーが出なくなるまで根気よくしらみつぶしに直してあげるか「=&」構文を使っている箇所を一括で直してあげると良いと思います。
最後まで読んでいただきありがとうございます。もしこの記事を気に入って頂けたようであればシェアをお願い致します。非常に励みになります。