Browse Source

Merge pull request #4542 from xjflyttp/4520-cache-memcache-sasl-support

- Enh #4520: yii\caching/MemCache.php add sasl support (xjflyttp)
tags/2.0.0-rc
Qiang Xue 10 years ago
parent
commit
19b8cc442d
  1. 1
      framework/CHANGELOG.md
  2. 15
      framework/caching/MemCache.php

1
framework/CHANGELOG.md

@ -179,6 +179,7 @@ Yii Framework 2 Change Log
- Enh: Added support for array attributes in `in` validator (creocoder)
- Enh: Improved `yii\helpers\Inflector::slug` to support more cases for Russian, Hebrew and special characters (samdark)
- Enh: ListView now uses the widget ID in the base tag, consistent to gridview (cebe)
- Enh #4520: yii\caching/MemCache.php add sasl support (xjflyttp)
- Chg #2287: Split `yii\db\ColumnSchema::typecast()` into two methods `phpTypecast()` and `dbTypecast()` to allow specifying PDO type explicitly (cebe)
- Chg #2898: `yii\console\controllers\AssetController` is now using hashes instead of timestamps (samdark)
- Chg #2913: RBAC `DbManager` is now initialized via migration (samdark)

15
framework/caching/MemCache.php

@ -84,6 +84,17 @@ class MemCache extends Cache
public $options;
/**
* @var string memcached sasl username
* @see http://php.net/manual/en/memcached.setsaslauthdata.php
*/
public $username;
/**
* @var string memcached sasl password
* @see http://php.net/manual/en/memcached.setsaslauthdata.php
*/
public $password;
/**
* @var \Memcache|\Memcached the Memcache instance
*/
private $_cache = null;
@ -201,6 +212,10 @@ class MemCache extends Cache
if ($this->useMemcached) {
$this->_cache = $this->persistentId !== null ? new \Memcached($this->persistentId) : new \Memcached;
if ($this->username !== null || $this->password !== null) {
$this->_cache->setOption(\Memcached::OPT_BINARY_PROTOCOL, true);
$this->_cache->setSaslAuthData($this->username, $this->password);
}
if (!empty($this->options)) {
$this->_cache->setOptions($this->options);
}

Loading…
Cancel
Save