fuelphp案件でcomposer経由でxml_rpc2をインストールしたら、以下のようなエラーが出た
Uncaught exception Fuel\Core\PhpErrorException: Non-static method PEAR::loadExtension() should not be called statically
最初はソースの依存関係が原因かなあと思ったが、調べてみるとそうではなく
PHP5.4から error_reportingのE_ALL
にE_RISTRICT
が加わったことで、エラーと判定されるようになった
対象箇所でのみerror_reportingを止めることにした
production環境以外で、かつ一部分でのみerror_reporting
を止めたかったので、対象箇所の前後で一時的に解除した
$before_level = error_reporting(0); // error_report解除
$options = array('prefix' => 'package.');
$client = \XML_RPC2_Client::create('http://pear.php.net/xmlrpc.php', $options);
$result = $client->info('XML_RPC2');
print_r($result);
error_reporting($before_level); // error_reportを元に戻す