Just finished installing libevent(1.4.8), memcached(1.4.5), pear, and libmemcached(0.40) to my lamp server (running PHP 5.2.10 & Centos 5.5 Final), and as far as I can tell, everything installed correctly (was able to address all errors during installation).

However, after finally getting everything updated and installed... upon attempting either of the following:

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

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

I get the errors:

Fatal error: Class 'Memcache' not found (or) Fatal error: Call to undefined function memcache_connect()

I'm (admittedly) not very good with linux at this point, although after setting this server up completely from scratch, i'm certainly making headway in the education process :) Any help would be much appreciated!

phpinfo() Shows memcached is enabled

Answer

You installed the Memcached client (not the Memcache client, which is, very confusingly, also a Memcached client). Use the Memcached class instead.

In case you're wondering what the difference between the two clients is: here's a nice comparison table.

  • 13
Reply Report

It looks like you still need pecl/memcache or pecl/memcached (Client/php end)

pecl/memcached will use libmemcached.

pecl/memcache doesn't have that dependency.

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
  • 2
Reply Report
      • 2
    • Thank you! This, along with Victor's answer helped me figure it out. $mc=new Memcached; worked perfectly. Thanks again!

Warm tip !!!

This article is reproduced from Stack Exchange / Stack Overflow, please click

Trending Tags

Related Questions