/** * 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"; }