2010-10-28 18 views
7

Se eseguo phpinfo() mi dice che è installato memcached.Memcached installato ma classe non trovata

memcached 
memcached support enabled 
Version  1.0.2 
libmemcached version 0.44 
Session support  yes 
igbinary support no 

ho installato con sudo pecl install memcached

Ma quando cerco di creare un'istanza della classe memcached non si trova:

$ mc = new Memcached();

ottiene: errore

Fatal: Class 'Memcached' non trovato

Mai

utilizzato PECL come un meccanismo di installazione prima, ho bisogno di fare qualcosa in più in php.ini o da qualche parte per essere in grado di utilizzare la classe?

+0

Si dice che phpinfo() lo mostri in modo strano. Stavo per chiederti se hai incluso il modulo all'interno di php.ini. Qualcosa come memcached.so o qualcosa del genere. – luckytaxi

+0

Sì, estensione = memcached.so è in php.ini –

risposta

12

E 'possibile che non è stato installato correttamente o, come dici tu, potrebbe essere necessario aggiungere quanto segue al file php.ini: extension = memcached.so

Ma dal momento che dici si presenta in phpinfo() sembra più probabile che semplicemente non si installa correttamente. Ci sono stati errori nell'output durante l'installazione?

Inoltre, per dichiarare l'ovvio, assicurarsi di aver riavviato il server.

Ho scritto uno tutorial on getting memcached running on Ubuntu, che menziono di non auto-promuovere, ma nel caso sia utile.

+0

Appena controllato il tuo blog molto utile. Stai dicendo che l'ultima versione di libmemcached per funzionare su Ubuntu 9.04 è 0,33 o posso andare più recente? –

+0

Al momento della data di pubblicazione originale di quel post un anno fa, la versione più alta di libmemcached che potevo ottenere su Ubuntu 9.04 era 0,33. Le versioni più recenti potrebbero funzionare, ma potrebbe essere necessario provarli uno alla volta fino a trovare quello che fa. Vorrei poterti dare una risposta migliore di quella. – stevelove

+0

libmemcached-0.44 e "sudo pecl install memcached" hanno funzionato bene su Ubuntu 9.04. Nessun errore di compilazione. –

1

C'è spesso molta confusione tra "Memcached" e "Memcache". Potrebbe valere la pena di installare entrambi per eliminare tali problemi. È possibile utilizzare quanto segue per installare 'Memcache'

sudo apt-get install php5-memcache 
+0

Ho già fatto questo errore. Non mi sono reso conto che l'estensione aveva una d mentre l'ini mancava uno – Rarw

+0

Sì, quella rinominazione della forcella è stata il risultato di molti momenti di frustrazione e confusione sono sicuro –