use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Logger\ConsoleSpi;
+use MediaWiki\MediaWikiServices;
require_once __DIR__ . '/Maintenance.php';
public function execute() {
if ( !class_exists( \Psy\Shell::class ) ) {
- $this->error( 'PsySH not found. Please run composer with the --dev option.', 1 );
+ $this->fatalError( 'PsySH not found. Please run composer with the --dev option.' );
}
$traverser = new \PhpParser\NodeTraverser();
$d = intval( $this->getOption( 'd' ) );
if ( $d > 0 ) {
LoggerFactory::registerProvider( new ConsoleSpi );
+ // Some services hold Logger instances in object properties
+ MediaWikiServices::resetGlobalInstance();
}
if ( $d > 1 ) {
# Set DBO_DEBUG (equivalent of $wgDebugDumpSql)
- # XXX copy pasted from eval.php :(
- $lb = wfGetLB();
- $serverCount = $lb->getServerCount();
- for ( $i = 0; $i < $serverCount; $i++ ) {
- $server = $lb->getServerInfo( $i );
- $server['flags'] |= DBO_DEBUG;
- $lb->setServerInfo( $i, $server );
- }
+ wfGetDB( DB_MASTER )->setFlag( DBO_DEBUG );
+ wfGetDB( DB_REPLICA )->setFlag( DBO_DEBUG );
}
}