WordPress を PHP 5.3 以降の環境で Exec-PHP を使っていたら Deprecated メッセージが表示されて困った:解決

問題

最近だんだんと、ホスティング サーバーの PHP のバージョンが 5.3 以降になりつつありますが、この環境で WordPress に Exec-PHP プラグインを使おうとすると、次の様な Deprecated メッセージが表示されてしまいます。

[code lang=’text’] Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/exec-php.php on line 22
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/manager.php on line 36
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/manager.php on line 37
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/manager.php on line 38
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/manager.php on line 39
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/admin.php on line 53
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/admin.php on line 56
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/admin.php on line 57
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/admin.php on line 63
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/admin.php on line 64
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/admin.php on line 79
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/cache.php on line 22
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/cache.php on line 39
Deprecated: Assigning the return value of new by reference is deprecated in /home/child/public_html/wp-content/plugins/exec-php/includes/ajax.php on line 64
[/code]

原因

これは、PHP 5 以降では new キーワードで生成されたオブジェクトは参照渡しになるのに、参照渡しのための「=&」演算子で代入してしまっているのが原因で、非推奨(Deprecated)である事を示すメッセージが表示されたと言うものです。

解決方法

メッセージを隠す

「error_reporting」で表示しないようにする、と言うのは一つの方法でしょうかね。
次のコードを適当な PHP ファイルに含めてあげましょう。
メッセージを隠すことができます(が、問題を先延ばししただけです)。

[code lang=’php’] error_reporting(E_ALL ^ E_DEPRECATED);
[/code]

プログラムを変更する

上記の原因である参照渡しを止めるようにプログラムを直接変更する方法です。

Exec-PHP 4.9 で該当のコードを変更したファイルを置いておきます。
作者に許可も取っていませんので、自己責任でお使いください。

PHP 5.3 対応の exec-php.zip

解凍して「/wp-content/plugins/」に配置、「有効化」してください。
クレジットなども一切弄っていません。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

WordPress を PHP 5.3 以降の環境で Exec-PHP を使っていたら Deprecated メッセージが表示されて困った:解決” に対して2件のコメントがあります。

コメントを残す