diff --git a/lib/private/Config.php b/lib/private/Config.php index c881e485006cb41a80b1d81801f6d241324f7e9d..f462bebaf5887a3ecc76e59d4a0c8d41e6ca4b9f 100644 --- a/lib/private/Config.php +++ b/lib/private/Config.php @@ -265,10 +265,8 @@ class Config { 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); } } } diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php index cd6ce0b64ae6608a8407acd7593d0a675907dd15..af2d555b8852ba8a0028c88ba2ed1ed651d00c7f 100644 --- a/lib/private/legacy/util.php +++ b/lib/private/legacy/util.php @@ -1323,37 +1323,6 @@ class OC_Util { 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): bool { - if (!empty($path) && function_exists('opcache_invalidate')) { - return @opcache_invalidate($path); // Zend OpCache >= 7.0.0, PHP >= 5.5.0 - } - return false; - } - - /** - * 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 - */ - public static function clearOpcodeCache(): void { - if (function_exists('opcache_reset')) { - @opcache_reset(); // Opcache (PHP >= 5.5) - } - } - /** * Normalize a unicode string *