2011-02-08 15 views
8

Acabo de terminar de instalar libevent (1.4.8), memcached (1.4.5), pear y libmemcached (0.40) en mi servidor de lámpara (ejecutando PHP 5.2. 10 & Centos 5.5 Final), y hasta donde sé, todo se instaló correctamente (fue capaz de resolver todos los errores durante la instalación).Memcached instalado (en teoría), PHP no puede usar memcache_connect()

Sin embargo, después de finalmente conseguir todo actualizado e instalado ... al intentar cualquiera de los siguientes:

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

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

puedo obtener los errores de error:

grave: 'Memcache' clase no encontrado (o) Error fatal: Llamada a la función no definida memcache_connect()

No soy muy bueno con Linux en este momento, aunque después de configurar este servidor completamente desde cero, ciertamente estoy avanzando en el proceso educativo :) Cualquier ayuda sería ser muy apreciado!

phpinfo() Shows memcached is enabled

Respuesta

12

ha instalado el Memcached cliente (no el cliente Memcache, que es, muy confusamente, también es un cliente Memcached). Use el Memcached class en su lugar.

En caso de que se pregunte cuál es la diferencia entre los dos clientes: aquí hay un buen comparison table.

+0

¡Oh Dios mío ... gracias! Estoy temporalmente más confundido, sin embargo, http://php.net/manual/en/class.memcached.php](http://php.net/manual/en/class.memcached.php) ha ayudado mucho, por lo que lejos. Corrígeme si me equivoco, pero parece que Memcached reemplaza a Memcache? ¿O están completamente separados? De cualquier manera, ¡gracias por tu ayuda! – Jonathan

+0

No es realmente un reemplazo, solo un enfoque diferente para implementar un cliente PHP para Memcached. Dependiendo de sus necesidades, puede usar cualquiera de los dos clientes. –

2

Parece que todavía necesita pecl/memcache o pecl/memcached (cliente/php final)

pecl/memcached utilizará libmemcached.

pecl/memcache no tiene esa dependencia.

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 
+0

¡Gracias! Esto, junto con la respuesta de Victor me ayudó a resolverlo. $ mc = new Memcached; funcionó perfectamente ¡Gracias de nuevo! – Jonathan

Cuestiones relacionadas