2011年 3月 24

PHP5.3にしたらOpenPNEでエラーが発生。
このようなエラー。

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/html/OpenPNE/lib/include/PEAR.php on line 569

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/html/OpenPNE/lib/include/PEAR.php on line 572

以下(ry

PEAR使ってる状態でPHPのバージョンを上げると、PEARから上記エラーが出てくる場合がありますが・・・
これは、PHP5では、newすると参照になるのに、それを =& でさらに参照で受け取ろうとしてエラーが出ている模様。
消す方法はいくつかあります。
1. error_reportingで表示しないようにする。
error_reporting(E_ALL & ~E_DEPRECATED);

2. エラーの出ている場所を修正する。
エラー箇所のソースを読むと、 =& になっているので = に変更。

参照:為せば成る・・・かもしれない

と言うことなので、OpenPNEのconfig.phpを修正する。
PHPの仕様が変更されたので出る警告らしい。
エラーは消えるけど、将来的にはソースを変更した方がいいのかも。

OpenPNE_DIR/config.php 236行目付近(バージョンによって違うかも)

///
// デバッグ、エラーハンドリング、ログ設定
///

//error_reporting(E_ALL ^ E_NOTICE); ←コメントアウト
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE); ←追記

OpenPNEの不具合

get@hoge.com (空メールで登録用URLを送信するアドレス)へ送ってもメールが帰ってこない。
オープン制の場合はスクリプトの修正が必要かも。
日記のメール投稿やコミュニティの投稿などは出来るようだ。


Filed under: OpenPNE

Trackback Uri