/**
* Test for PHP bug #50394 (PHP 5.3.x conversion to null only, not 5.2.x)
*/
class PhpRefCallBugTester {
public $ok = false;
function __call( $name, $args ) {
$old = error_reporting( E_ALL & ~E_WARNING );
call_user_func_array( array( $this, 'checkForBrokenRef' ), $args );
error_reporting( $old );
}
function checkForBrokenRef( &$var ) {
if ( $var ) {
$this->ok = true;
}
}
function execute() {
$var = true;
call_user_func_array( array( $this, 'foo' ), array( &$var ) );
}
}
$t = new PhpRefCallBugTester;
$t->execute();
if (!$test->ok) {
echo "PHP 5.3.1 is not compatible with MediaWiki due to a bug involving\n" .
"reference parameters to __call. Upgrade to PHP 5.3.2 or higher, or \n" .
"downgrade to PHP 5.3.0 to fix this.\n" .
"ABORTING (see http://bugs.php.net/bug.php?id=50394 for details)\n";
}