All pastes #2066250 Raw Edit

Untitled

public text v1 · immutable
#2066250 ·published 2011-05-21 15:07 UTC
rendered paste body
/**
 * 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";
}