init_memcached(): only use pconnect if configured to do so

Make pconnections optional - only use pconnect if $CFG->memcachedpconn is
set. In current versions of the memcache client in PECL (v2.0.1),
memcache_pconnect() is buggy and will segfault if reusing a pconnection
to a server that has gone away or restarted.

And hope for a more stable client library in PECL ;-)
This commit is contained in:
martinlanghoff 2006-12-27 22:45:13 +00:00
parent 419e1d937e
commit 9c967c33fb

View File

@ -219,9 +219,11 @@ function init_memcached() {
$hosts = split(',', $CFG->memcachedhosts);
$MCACHE = new Memcache;
if (count($hosts) === 1) {
if (count($hosts) === 1 && !empty($CFG->memcachedpconn)) {
// the faster pconnect is only available
// for single-server setups
// NOTE: PHP-PECL client is buggy and pconnect()
// will segfault if the server is unavailable
$MCACHE->pconnect($hosts[0]);
} else {
// multi-host setup will share key space