diff options
Diffstat (limited to 'phpBB/includes/acm')
-rw-r--r-- | phpBB/includes/acm/acm_eaccelerator.php | 1 | ||||
-rw-r--r-- | phpBB/includes/acm/acm_memcache.php | 6 | ||||
-rw-r--r-- | phpBB/includes/acm/acm_memory.php | 5 |
3 files changed, 11 insertions, 1 deletions
diff --git a/phpBB/includes/acm/acm_eaccelerator.php b/phpBB/includes/acm/acm_eaccelerator.php index 1a3cf3c0f7..645067c199 100644 --- a/phpBB/includes/acm/acm_eaccelerator.php +++ b/phpBB/includes/acm/acm_eaccelerator.php @@ -30,6 +30,7 @@ if (!class_exists('acm_memory')) class acm extends acm_memory { var $extension = 'eaccelerator'; + var $function = 'eaccelerator_get'; var $serialize_header = '#phpbb-serialized#'; diff --git a/phpBB/includes/acm/acm_memcache.php b/phpBB/includes/acm/acm_memcache.php index 3077ee9615..52b8832749 100644 --- a/phpBB/includes/acm/acm_memcache.php +++ b/phpBB/includes/acm/acm_memcache.php @@ -105,7 +105,11 @@ class acm extends acm_memory */ function _write($var, $data, $ttl = 2592000) { - return $this->memcache->set($this->key_prefix . $var, $data, $this->flags, $ttl); + if (!$this->memcache->replace($this->key_prefix . $var, $data, $this->flags, $ttl)) + { + return $this->memcache->set($this->key_prefix . $var, $data, $this->flags, $ttl); + } + return true; } /** diff --git a/phpBB/includes/acm/acm_memory.php b/phpBB/includes/acm/acm_memory.php index 1ed4fb0d55..e315e979e5 100644 --- a/phpBB/includes/acm/acm_memory.php +++ b/phpBB/includes/acm/acm_memory.php @@ -47,6 +47,11 @@ class acm_memory trigger_error("Could not find required extension [{$this->extension}] for the ACM module $acm_type.", E_USER_ERROR); } + + if (isset($this->function) && !function_exists($this->function)) + { + trigger_error("The required function [{$this->function}] is not available for the ACM module $acm_type.", E_USER_ERROR); + } } /** |