Disable file cache driver

This commit is contained in:
Kijin Sung 2022-12-30 00:10:18 +09:00
parent 84546b936c
commit 8234fd5c7b
3 changed files with 16 additions and 7 deletions

View file

@ -51,7 +51,7 @@ class Cache
}
$config = isset($config['servers']) ? $config['servers'] : array();
}
elseif (preg_match('/^(apc|dummy|file|memcache|redis|sqlite|wincache|xcache)/', strval(array_first($config)), $matches))
elseif (preg_match('/^(apc|dummy|memcached?|redis|sqlite|wincache|xcache)/', strval(array_first($config)), $matches))
{
$driver_name = $matches[1] . ($matches[1] === 'memcache' ? 'd' : '');
$class_name = '\\Rhymix\\Framework\\Drivers\\Cache\\' . $driver_name;
@ -62,7 +62,7 @@ class Cache
$class_name = null;
}
if ($class_name && class_exists($class_name) && $class_name::isSupported())
if ($class_name !== null && $driver_name !== 'file' && class_exists($class_name) && $class_name::isSupported())
{
self::$_driver = $class_name::getInstance($config);
self::$_driver_name = strtolower($driver_name);

View file

@ -22,6 +22,16 @@ class Dummy extends File implements \Rhymix\Framework\Drivers\CacheInterface
*/
public $data = array();
/**
* Override the isSupported() method of the file driver.
*
* @return bool
*/
public static function isSupported()
{
return true;
}
/**
* Get the value of a key.
*

View file

@ -52,15 +52,14 @@ class File implements \Rhymix\Framework\Drivers\CacheInterface
}
/**
* Check if the current cache driver is supported on this server.
*
* This method returns true on success and false on failure.
* Since Rhymix 2.1, This method always returns false.
* The file cache driver can only be used through the dummy driver.
*
* @return bool
*/
public static function isSupported()
{
return true;
return false;
}
/**
@ -201,6 +200,6 @@ class File implements \Rhymix\Framework\Drivers\CacheInterface
protected function _getFilename($key)
{
$hash = sha1($key);
return $this->_dir . '/' . substr($hash, 0, 2) . '/' . substr($hash, 2, 2) . '/' . $hash . '.php';
return $this->_dir . '/' . substr($hash, 0, 2) . '/' . $hash . '.php';
}
}