Не получается заставить Memcached работать в PHP - PullRequest
1 голос
/ 05 октября 2011

Возникли проблемы с использованием PHP-класса memcached.

Я использую среду LAMP на Ubuntu 10.10 с Apache 2.2.16 и PHP 5.3.3.Я только что установил то, что, как мне показалось, было memcache, но, возможно, это memcache?

Я могу запустить новый объект memcache с помощью:

$m = new Memcache;

, который работает нормально.Но когда я пытаюсь запустить объект memcached

$m = new Memcached();

, я получаю следующую ошибку

Fatal error: Class 'Memcached' not found

Когда я запускаю 'ps -A |grep Memcache 'через консоль возвращает

ben@ben-computer:/tmp$ ps -A | grep memcache
1214 ?        00:00:00 memcached

Показывает запущенный процесс memcached.phpinfo () возвращает memcache версии 2.2.6.

Но когда я заглядываю дальше в папку etc

ben@ben-computer:/etc/default$ cat memcached 
# Set this to no to disable memcached.
ENABLE_MEMCACHED=yes

Затем, когда я запускаю php -m, он возвращает memcache.

Вы как бы получаете представление, я понятия не имею, почему memcache работает вместо memcached, любая помощь будет отличной.

Редактировать:

Я думаю, что это может быть проблемой с libmemcached.Я установил пакет libmemcached-dev, но не уверен, что это то же самое?

Ответы [ 3 ]

3 голосов
/ 05 октября 2011

Memcache = имя класса
Memcached = имя демона, который запускает класс

Аналогично, cron и crond, mysql и mysqld.

2 голосов
/ 05 октября 2011

Есть два разных класса PHP , которые вы можете использовать.Я рекомендую memcached over memcache , потому что он более новый и поддерживает больше функций.

1 голос
/ 05 октября 2011

Расширение memcached не является стандартным компонентом PHP и должно устанавливаться отдельно от PECL. Инструкции в Интернете по адресу:

http://php.net/memcached.installation

...