[WirdPress]PHP7.1でエラーが発生「Exec-PHP」を修正

レンタルサーバーの設定を変えて、PHPのバージョンを7.1に変更すると、突如エラーが発生しました。

Parse error: syntax error, unexpected ‘new’ (T_NEW) in /xxxx/wp-content/plugins/exec-php/exec-php.php on line 22

これは、投稿記事内でPHPのコードを実行出来るようにするプラグイン「Exec-PHP」がPHP7.1以降に対応していないためのエラーです。
PHP7.1では、変数にクラスの参照代入ができなくなったためだそうで、プラグインのソースコードそのものに問題があることを示しています。

対策として、代わりのプラグインも試しましたが、同様にエラーが出たり、古すぎてWordPressの管理画面からは探せなかったりしてイマイチ。

ということで、ひとまず、Exec-PHP のコードそのものを変更して対処することにします。
プラグインのコードを変更するにはFTPクライアントなどから直接ファイルを開きます。
まずは、エラーの出ている、exec-php.phpを編集。

/wp-content/plugins/exec-php/exec-php.php

このファイルの22行目に、

とありますので、 =& の &を削除します。

でも、これをしてもまた新たなエラーが発生します。

Parse error: syntax error, unexpected ‘new’ (T_NEW) in /xxxx/wp-content/plugins/exec-php/includes/manager.php on line 36

こんどは、manager.phpに問題があるようです。
/wp-content/plugins/exec-php/includes/manager.php
を開くと、36,37,38,39行目に同様に=&があります。

これも&を削除します。

他にも、

/wp-content/plugins/exec-php/includes/cache.php の22行目、39行目
/wp-content/plugins/exec-php/includes/ajax.php の64行目

にそれぞれ &= となっているところがあるので修正します。

これでエラーは出なくなります。

 

タイトルとURLをコピーしました