diff --git a/classes/cache/CacheFile.class.php b/classes/cache/CacheFile.class.php index ff1afb4d5..1e1ac7ff6 100644 --- a/classes/cache/CacheFile.class.php +++ b/classes/cache/CacheFile.class.php @@ -78,10 +78,6 @@ class CacheFile extends CacheBase $content[] = 'if(!defined(\'__XE__\')) { exit(); }'; $content[] = 'return \'' . addslashes(serialize($obj)) . '\';'; FileHandler::writeFile($cache_file, implode(PHP_EOL, $content)); - if(function_exists('opcache_invalidate')) - { - @opcache_invalidate($cache_file, true); - } } /** @@ -145,10 +141,6 @@ class CacheFile extends CacheBase function _delete($_key) { $cache_file = $this->getCacheFileName($_key); - if(function_exists('opcache_invalidate')) - { - @opcache_invalidate($cache_file, true); - } FileHandler::removeFile($cache_file); } diff --git a/classes/file/FileHandler.class.php b/classes/file/FileHandler.class.php index 6db60dcbe..d725d95aa 100644 --- a/classes/file/FileHandler.class.php +++ b/classes/file/FileHandler.class.php @@ -156,6 +156,10 @@ class FileHandler @file_put_contents($filename, $buff, $flags|LOCK_EX); @chmod($filename, 0644); + if(function_exists('opcache_invalidate') && substr($filename, -4) === '.php') + { + @opcache_invalidate($filename, true); + } } /** @@ -166,7 +170,16 @@ class FileHandler */ public static function removeFile($filename) { - return (($filename = self::exists($filename)) !== FALSE) && @unlink($filename); + if(($filename = self::exists($filename)) === false) + { + return false; + } + $status = @unlink($filename); + if(function_exists('opcache_invalidate') && substr($filename, -4) === '.php') + { + @opcache_invalidate($filename, true); + } + return $status; } /**