PHP5.4から error_reportingのE_ALLにE_RISTRICTが加わった

Posted by Tatsuyano on Mon, Jul 28, 2014
In
Tags php

fuelphp案件でcomposer経由でxml_rpc2をインストールしたら、以下のようなエラーが出た

Uncaught exception Fuel\Core\PhpErrorException: Non-static method PEAR::loadExtension() should not be called statically

最初はソースの依存関係が原因かなあと思ったが、調べてみるとそうではなく PHP5.4から error_reportingのE_ALLE_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を元に戻す