protected function prepareEnvironment() { global $wgMemc; // Don't share DB, storage, or memcached connections wfGetLBFactory()->destroyInstance(); FileBackendGroup::destroySingleton(); LockManagerGroup::destroySingletons(); ObjectCache::clear(); $wgMemc = null; }
protected function prepareEnvironment() { global $wgMemc; // Don't share DB, storage, or memcached connections MediaWikiServices::resetChildProcessServices(); FileBackendGroup::destroySingleton(); LockManagerGroup::destroySingletons(); JobQueueGroup::destroySingletons(); ObjectCache::clear(); RedisConnectionPool::destroySingletons(); $wgMemc = null; }
/** * Constructor, always call this from child classes. */ public function __construct() { global $wgMessagesDirs, $wgUser; // Disable the i18n cache Language::getLocalisationCache()->disableBackend(); // Disable LoadBalancer and wfGetDB etc. LBFactory::disableBackend(); // Disable object cache (otherwise CACHE_ANYTHING will try CACHE_DB and // SqlBagOStuff will then throw since we just disabled wfGetDB) $GLOBALS['wgMemc'] = new EmptyBagOStuff(); ObjectCache::clear(); $emptyCache = array('class' => 'EmptyBagOStuff'); $GLOBALS['wgObjectCaches'] = array(CACHE_NONE => $emptyCache, CACHE_DB => $emptyCache, CACHE_ANYTHING => $emptyCache, CACHE_MEMCACHED => $emptyCache); // Load the installer's i18n. $wgMessagesDirs['MediawikiInstaller'] = __DIR__ . '/i18n'; // Having a user with id = 0 safeguards us from DB access via User::loadOptions(). $wgUser = User::newFromId(0); $this->settings = $this->internalDefaults; foreach ($this->defaultVarNames as $var) { $this->settings[$var] = $GLOBALS[$var]; } $this->doEnvironmentPreps(); $this->compiledDBs = array(); foreach (self::getDBTypes() as $type) { $installer = $this->getDBInstaller($type); if (!$installer->isCompiled()) { continue; } $this->compiledDBs[] = $type; } $this->parserTitle = Title::newFromText('Installer'); $this->parserOptions = new ParserOptions(); // language will be wrong :( $this->parserOptions->setEditSection(false); }
protected function prepareEnvironment() { global $wgMemc; // Don't share DB or memcached connections wfGetLBFactory()->destroyInstance(); ObjectCache::clear(); $wgMemc = null; }
<?php /** * The sweeter tweet reader agent handles the background requests when given a proper nonce. */ require_once '../sweeter_tweet_reader.php'; if (isset($_REQUEST['sweeter_tweet_reader_nonce'])) { // retrieve the model and config from the nonce $sweet_tweet = new SweeterTweetReader(); $update = new ObjectCache($_REQUEST['sweeter_tweet_reader_nonce'], 999999999); $data = $update->fetch(); if (!empty($data)) { $sweet_tweet->set($data['model']); $sweet_tweet->config($data['config']); $sweet_tweet->update(); } $update->clear(); }
/** * Resets some well known services that typically have state that may interfere with unit tests. * This is a lightweight alternative to resetGlobalServices(). * * @note There is no guarantee that no references remain to stale service instances destroyed * by a call to doLightweightServiceReset(). * * @throws MWException if called outside of PHPUnit tests. * * @see resetGlobalServices() */ private function doLightweightServiceReset() { global $wgRequest; JobQueueGroup::destroySingletons(); ObjectCache::clear(); $services = MediaWikiServices::getInstance(); $services->resetServiceForTesting('MainObjectStash'); $services->resetServiceForTesting('LocalServerObjectCache'); $services->getMainWANObjectCache()->clearProcessCache(); FileBackendGroup::destroySingleton(); // TODO: move global state into MediaWikiServices RequestContext::resetMain(); if (session_id() !== '') { session_write_close(); session_id(''); } $wgRequest = new FauxRequest(); MediaWiki\Session\SessionManager::resetCache(); }
/** * Resets some well known services that typically have state that may interfere with unit tests. * This is a lightweight alternative to resetGlobalServices(). * * @note There is no guarantee that no references remain to stale service instances destroyed * by a call to doLightweightServiceReset(). * * @throws MWException if called outside of PHPUnit tests. * * @see resetGlobalServices() */ private function doLightweightServiceReset() { global $wgRequest; JobQueueGroup::destroySingletons(); ObjectCache::clear(); FileBackendGroup::destroySingleton(); // TODO: move global state into MediaWikiServices RequestContext::resetMain(); MediaHandler::resetCache(); if (session_id() !== '') { session_write_close(); session_id(''); } $wgRequest = new FauxRequest(); MediaWiki\Session\SessionManager::resetCache(); }