2010-10-28 4 views
7

Si j'exécute phpinfo(), il m'indique que memcached est installé.Memcached installé mais classe non trouvée

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

Je l'ai installé avec sudo pecl install memcached

Mais lorsque je tente de instancier la classe memcached il ne se trouve pas:

$ mc = new Memcached();

obtient:

Erreur fatale: Classe « Memcached » not found

Jamais utilisé PECL comme mécanisme d'installation avant, dois-je faire quelque chose de plus dans php.ini ou quelque part pour pouvoir utiliser la classe?

+0

Vous dites que phpinfo() le montre de façon étrange. J'allais demander si vous avez inclus le module dans php.ini. Quelque chose comme memcached.so ou quelque chose. – luckytaxi

+0

Oui, extension = memcached.so est dans php.ini –

Répondre

12

Il est possible que cela n'a pas été installé correctement ou, comme vous le dites, vous pourriez avoir besoin d'ajouter ce qui suit à php.ini: extension = memcached.so

Mais puisque vous dites qu'il montre dans phpinfo(), il semble il est plus probable qu'il ne s'est pas installé correctement. Y a-t-il eu des erreurs dans la sortie lors de l'installation?

De même, pour indiquer l'évidence, assurez-vous d'avoir redémarré votre serveur.

J'ai écrit un tutorial on getting memcached running on Ubuntu, que je mentionne de ne pas auto-promouvoir, mais juste au cas où c'est utile.

+0

Vous venez de vérifier votre article de blog très utile. Êtes-vous en train de dire que la dernière version de libmemcached pour travailler sur Ubuntu 9.04 est 0.33 ou est-ce que je peux aller plus loin? –

+0

Au moment de la publication originale de ce poste il y a un an, la version la plus élevée de libmemcached que je pouvais utiliser sur Ubuntu 9.04 était 0.33. Les versions plus récentes peuvent fonctionner, mais il se peut que vous deviez simplement les essayer une à la fois jusqu'à ce que vous en trouviez une qui le fait. J'aimerais pouvoir vous donner une meilleure réponse que ça. – stevelove

+0

libmemcached-0.44 et "sudo pecl install memcached" ont bien fonctionné sous Ubuntu 9.04. Aucune erreur de construction. –

1

Il y a souvent beaucoup de confusion entre 'Memcached' et 'Memcache'. Il pourrait être utile d'installer les deux pour éliminer ces problèmes. Vous pouvez utiliser ce qui suit pour installer 'Memcache'

sudo apt-get install php5-memcache 
+0

J'ai déjà fait cette erreur. Non réalisé l'extension avait un d alors que l'ini en manquait un – Rarw

+0

Ouais, ce changement de nom a été le résultat de nombreux moments de frustration et de confusion je suis sûr –

Questions connexes