プロジェクト

全般

プロフィール

Bug(バグ) #1860

未完了

php5.3 の環境でOpenPNE3に同梱しているPEARのライブラリを読み込んだ際にエラーになる

Shinichi Urabe さんがほぼ14年前に追加. ほぼ5年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
開始日:
2010-12-29
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Yes
3.8 で発生するか:
Unknown (未調査)

説明

現象

PEAR の Calendar ライブラリを読み込むと発生

Deprecated: Assigning the return value of new by reference is deprecated in /opt/local/apache2/htdocs/OpenPNE3/lib/vendor/PEAR/Calendar/Month/Weekdays.php on line 132

Deprecated: Assigning the return value of new by reference is deprecated in /opt/local/apache2/htdocs/OpenPNE3/lib/vendor/PEAR/Calendar/Calendar.php on line 460

原因

オブジェクトを参照渡しにしている箇所がある PHP 5.3 ではエラーになる

[urabe@mac PEAR]$ ack -a "&( *?)new" 
Amazon/HTTP/Request.php
110: * $a = &new HTTP_Request('http://www.yahoo.com/');
402:        $this->_url = &new Net_URL($url, $this->_useBrackets);
720:            $this->_sock =& new Net_Socket();
733:            $this->_response = &new HTTP_Response($this->_sock, $this->_listeners);
778:                $this->_url = &new Net_URL($redirect);

Amazon/Services/AmazonECS4.php
1060:        $http = &new HTTP_Request($url);
1087:        $xml = &new XML_Unserializer();

Amazon/XML/Parser.php
576:        $err = &new XML_Parser_Error($msg, $ecode);

Amazon/XML/Unserializer.php
236: * $unserializer = &new XML_Unserializer();
689:                    $value['value'] = &new $classname;
691:                    $value['value'] = &new $this->options[XML_UNSERIALIZER_OPTION_DEFAULT_CLASS];
850:        $this->_parser = &new XML_Parser($this->options[XML_UNSERIALIZER_OPTION_ENCODING_SOURCE], 'event', $this->options[XML_UNSERIALIZER_OPTION_ENCODING_TARGET]);

Calendar/Calendar.php
460:            $this->validator = & new Calendar_Validator($this);

(略)

修正内容

参照渡しを使っているPERAのバージョンをあげて対処が可能なものは対処して、使っていないようなライブラリは削除でいいかと考えられます

他の形式にエクスポート: Atom PDF