Memcached установлен (теоретически), PHP не может использовать memcache_connect()

Только что закончил установку libevent(1.4.8), memcached(1.4.5), pear и libmemcached(0.40) на мой ламповый сервер (под управлением PHP 5.2.10 и Centos 5.5 Final), и насколько я могу судить, все установлено правильно (смог устранить все ошибки во время установки).

Однако после того, как все было обновлено и установлено... при попытке выполнить одно из следующих действий:

$test=memcache_connect('127.0.0.1', 11211); // OR

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) 

Я получаю ошибки:

Неустранимая ошибка: класс «Memcache» не найден (или) Неустранимая ошибка: вызов неопределенной функции memcache_connect()

Я (по общему признанию) не очень хорошо разбираюсь в Linux на данный момент, хотя после полной настройки этого сервера с нуля я, безусловно, делаю успехи в процессе обучения :) Любая помощь будет очень признательна!

phpinfo() Показывает, что memcached включен


person Jonathan    schedule 08.02.2011    source источник


Ответы (2)


Вы установили клиент Memcached (а не клиент Memcache, который, как ни странно, также является клиентом Memcached ). Вместо этого используйте класс Memcached.

Если вам интересно, в чем разница между двумя клиентами: вот хорошая сравнительная таблица.

person Victor Welling    schedule 08.02.2011
comment
О боже... спасибо! Однако я временно больше запутался http://php.net/manual/en/class.memcached.php](http://php.net/manual/en/class.memcached.php) уже очень помог. Поправьте меня, если я Я ошибаюсь, но кажется, что memcached заменяет memcache?Или они совершенно разные?В любом случае спасибо за помощь! - person Jonathan; 08.02.2011
comment
На самом деле это не замена, а просто другой подход к реализации PHP-клиента для Memcached. В зависимости от ваших потребностей, вы можете использовать любой клиент. - person Victor Welling; 08.02.2011

Похоже, вам все еще нужен pecl/memcache или pecl/memcached (конец клиента/php)

pecl/memcached будет использовать libmemcached.

pecl/memcache не имеет этой зависимости.

Some of notes on how to install pecl/memcached
Yum install:
   * memcached
   * memcached-devel
   * php-pear
   * php-devel
   * gcc
   * gcc-c++
   * zlib-devel

Download libmemcached from: http://download.tangent.org/
Configure, Make, Make  install
pecl install memcached
added "extension=memcached.so" to php.ini
person Skylervich    schedule 08.02.2011
comment
Спасибо! Это, наряду с ответом Виктора, помогло мне понять это. $mc=новый Memcached; работал отлично. Еще раз спасибо! - person Jonathan; 08.02.2011