Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Memcached installed (In theory), PHP unable to use memcache_connect()

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

like image 865
Jonathan Avatar asked Feb 08 '11 20:02

Jonathan


2 Answers

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.

like image 62
Victor Welling Avatar answered Oct 16 '22 21:10

Victor Welling


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
like image 24
Skylervich Avatar answered Oct 16 '22 21:10

Skylervich