WordPress - プラグインにPHP5非推奨のコードがある!
Updated:
WordPressに関連して、Apacheのエラーログをチェックしてたときのこと。 こんなエラーが出力されていました。
[Sat Jul 09 12:24:57 2011] [error] [client 999.999.999.999] PHP Deprecated: Assigning the return value of new by reference is deprecated in /var/www/wordpress/wp-content/plugins/ktai_entry/Mail_mimeDecode.php on line 324, referer: /2011/05/31/31004536/
[Sat Jul 09 12:24:57 2011] [error] [client 999.999.999.999] PHP Deprecated: Assigning the return value of new by reference is deprecated in /var/www/wordpress/wp-content/plugins/ktai_entry/PEAR.php on line 569, referer: /2011/05/31/31004536/
[Sat Jul 09 12:24:57 2011] [error] [client 999.999.999.999] PHP Deprecated: Assigning the return value of new by reference is deprecated in /var/www/wordpress/wp-content/plugins/ktai_entry/PEAR.php on line 572, referer: /2011/05/31/31004536/
WordPressプラグイン「ktai_entry」のPHPソース内で行われている”new”での参照渡しは非推奨、というような内容。
エラーの元となっているPHPソースを調べてみると
$a = &new $b( $hoge )
のように確かに”&new”を使用した記述になっていました。 この”&new”はPHP4系での参照渡しを意味していますが、PHP5系では”new”がデフォルトで参照渡しをするようになっているので”&”は不要なのです。 (逆に値渡しをしたい時だけに”clone”を使用します。)
そこで、この”&new”によるエラーの対処方法ですが、それは単に”&”を削除するだけです。 もちろん動作にも問題ありません。
今回のこのエラーを発生させたWordPressプラグインはPHP5以上でないと動作しないと唱っているものです。それなのになぜ? PHPの仕様の方があとで変更になったのかも?
ちなみに、「ktai_entry」というプラグインは携帯から投稿できるようにするためのプラグインです。
以上。
Comments