2012年5月11日

[PHP-users 35714] Re:Apache2.4 php-5.3.10 php-5.3.13 pearエラーの対処方法を教えてください

住井といいます。

今、直接ソースを参照できない状態なので、
確実な修正方法までは分からないのですが、
エラーメッセージを見た限りでは以下のように思います。

> Strict Standards: Redefining already defined constructor for class PEAR_Info
> in /usr/local/php-5-3-10/lib/php/PEAR/PEAR/Info.php on line 214


コンストラクタが再定義されているとあるので、
この214行目でコンストラクタが2回呼び出されているのではないでしょうか?

php4との互換性のためだったと思いますが、
クラス名と同じ関数の中でコンストラクタを読み込んでいることがあります。

function PEAR_info () {
$this->__construct();
}

こんな感じです。実際には引数が入っていると思いますが。
もし、そうだとするとこの部分を回避すれば一つ目のエラーは出なくなるのでは?


> Deprecated: Assigning the return value of new by reference is deprecated in
> /usr/local/php-5-3-10/lib/php/PEAR/PEAR/Config.php on line 650
> ・・・・続く

こちらはクラスをnewしたときに参照渡しになっているせいでしょうか?
正確には参照渡しが基本になったので、

$foo = &new some_Class();

のように、&をつけて参照渡しを明示するとこのメッセージが出たと思います。
これは & なしにするだけで解決すると思います。

ソースで確認してみて下さい。


_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2012年5月11日 14:48
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/110344
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。