diff --git a/core/apc-emulation.php b/core/apc-emulation.php index aff084307..e3a911d78 100644 --- a/core/apc-emulation.php +++ b/core/apc-emulation.php @@ -166,9 +166,12 @@ class apcFile } else { - if (!@unlink($sCache)) + if (is_file($sCache)) { - return false; + if (!@unlink($sCache)) + { + return false; + } } } @@ -209,8 +212,14 @@ class apcFile return false; } - @unlink(self::GetCacheFileName($sKey)); - @unlink(self::GetCacheFileName('-'.$sKey)); + if (is_file(self::GetCacheFileName($sKey))) + { + @unlink(self::GetCacheFileName($sKey)); + } + if (is_file(self::GetCacheFileName('-'.$sKey))) + { + @unlink(self::GetCacheFileName('-'.$sKey)); + } if ($iTTL > 0) { // hint for ttl management @@ -312,6 +321,10 @@ class apcFile */ static protected function ReadCacheLocked($sFilename) { + if (!is_file($sFilename)) + { + return false; + } $file = @fopen($sFilename, 'r'); if ($file === false) {