PHP5.3 でOpnePNEのエラーを消す方法
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を送信するアドレス)へ送ってもメールが帰ってこない。
オープン制の場合はスクリプトの修正が必要かも。
日記のメール投稿やコミュニティの投稿などは出来るようだ。
-
前の記事
apcupsdのシャットダウン時のログ 2011.03.16
-
次の記事
CentOS 5.5 php5.3.6からphp5.2.17へyumでダウングレード 2011.03.27