Ich habe das Beispiel aus php.net für die Verwendung von memcached in php eingefügt und erhalte Folgendes:
Fatal error: Class 'Memcache' not found
Ich habe folgendes in meiner php.ini:
[Memcache]
memcache.hash_strategy = "konsistent"
memcache.max_failover_attemps = 100
memcache.allow_failover = 1
Hier sind die Informationen von php -i bzw. php -m:
php -i | grep -i Memcache
Memcached
memcached support => aktiviert
libmemcached version => 0.37
Registrierte Speicherhandler => Dateien Benutzer sqlite memcachedphp -m | grep -i Memcache
Memcached
Php scheint also memcached als Modul geladen zu haben, und php info sagt, dass es geladen ist und v .37 verwendet. Ich habe es bisher noch nicht über Apache versucht, ich habe es jetzt nur über cli verwendet. Irgendwelche Gedanken?
Trotzdem, was die akzeptierte Antwort in den Kommentaren sagt, ist der korrekte Weg, 'Memcache' zu installieren:
Sudo apt-get install php5-memcache
NOTEMemcache & Memcached sind zwei verschiedene, jedoch verwandte Teile der Software, die oft verwirrt sind.
EDIT Da dies nun ein alter Beitrag ist, dachte ich, dass es erwähnenswert ist, dass Sie php5 durch Ihre PHP-Versionsnummer ersetzen sollten.
Ich habe in diesem Beitrag eine Lösung gefunden: https://stackoverflow.com/questions/11883378/class-memcache-not-found-php#=
Ich habe die funktionierenden DLL-Dateien für PHP 5.4.4 gefunden
Ich weiß nicht, wie stabil sie sind, aber sie arbeiten mit Sicherheit. Credits gehen auf diesen Link.
http://x32.elijst.nl/php_memcache-5.4-nts-vc9-x86.Zip
http://x32.elijst.nl/php_memcache-5.4-vc9-x86.Zip
Es ist die Version 2.2.5.0, die ich nach dem Kompilieren bemerkt habe (für PHP 5.4.4).
Bitte beachten Sie, dass es nicht 2.2.6 ist, aber funktioniert. Ich habe sie auch in meinem eigenen FTP gespiegelt. Spiegellinks:
http://mustafabugra.com/resim/php_memcache-5.4-vc9-x86.Ziphttp://mustafabugra.com/resim/php_memcache-5.4-nts-vc9-x86.Zip
Das Recht ist php_memcache.dll . In meinem Fall habe ich lib mit vc9 anstelle von vc6 compiler kompiliert. In apatche Fehlerprotokollen bekam ich etwas wie:
PHP-Start: sqlanywhere: Kann nicht initialize module Modul, das mit .__ kompiliert wurde. Build ID = API20090626, TS, VC9 PHP kompiliert mit Build-ID = API20090626, TS, VC6 Diese Optionen müssen übereinstimmen
Überprüfen Sie, ob Sie dasselbe Protokoll haben, und versuchen Sie, eine andere DLL herunterzuladen, die mit einem anderen Compiler kompiliert wurde.
Für OSX-Benutzer:
Führen Sie den folgenden Befehl aus, um Memcached zu installieren:
brew install memcached