Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions lib/private/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -265,10 +265,8 @@ private function writeData() {
flock($filePointer, LOCK_UN);
fclose($filePointer);

// Try invalidating the opcache just for the file we wrote...
if (!\OC_Util::deleteFromOpcodeCache($this->configFilePath)) {
// But if that doesn't work, clear the whole cache.
\OC_Util::clearOpcodeCache();
if (function_exists('opcache_invalidate')) {
@opcache_invalidate($this->configFilePath, true);
}
}
}
Expand Down
50 changes: 0 additions & 50 deletions lib/private/legacy/util.php
Original file line number Diff line number Diff line change
Expand Up @@ -1323,56 +1323,6 @@ public static function getTheme() {
return $theme;
}

/**
* Clear a single file from the opcode cache
* This is useful for writing to the config file
* in case the opcode cache does not re-validate files
* Returns true if successful, false if unsuccessful:
* caller should fall back on clearing the entire cache
* with clearOpcodeCache() if unsuccessful
*
* @param string $path the path of the file to clear from the cache
* @return bool true if underlying function returns true, otherwise false
*/
public static function deleteFromOpcodeCache($path) {
$ret = false;
if ($path) {
// APC >= 3.1.1
if (function_exists('apc_delete_file')) {
$ret = @apc_delete_file($path);
}
// Zend OpCache >= 7.0.0, PHP >= 5.5.0
if (function_exists('opcache_invalidate')) {
$ret = @opcache_invalidate($path);
}
}
return $ret;
}

/**
* Clear the opcode cache if one exists
* This is necessary for writing to the config file
* in case the opcode cache does not re-validate files
*
* @return void
* @suppress PhanDeprecatedFunction
* @suppress PhanUndeclaredConstant
*/
public static function clearOpcodeCache() {
// APC
if (function_exists('apc_clear_cache')) {
apc_clear_cache();
}
// Zend Opcache
if (function_exists('accelerator_reset')) {
accelerator_reset();
}
// Opcache (PHP >= 5.5)
if (function_exists('opcache_reset')) {
@opcache_reset();
}
}

/**
* Normalize a unicode string
*
Expand Down