2013-02-08 5 views
10

Ich habe memcached Binärdatei in Windows 7 installiert und es als Server gestartet.Wie installiert und verwendet Memcached in Windows für PHP?

Wenn ich wmic Prozess eingeben Beschreibung, exetupulpath | findstr memcached.exe Ich bekomme die Antwort: memcached.exe c: \ memcached \ memcached.exe in der Befehlszeile.

Wenn ich versuche, den Beispielcode auf php.net läuft, bekomme ich in meinem Browser:

Fatal error: Class 'Memcache' nicht im Verzeichnis C: \ DocumentRoot \ Framework \ index.php on line 3 Aufrufstack: 0.0010 335928 1. {main}() C: \ DocumentRoot \ Framework \ index.php: 0

Also, was mache ich falsch? Ich benutze memcache.dll, da memcached.dll für Windows nicht existiert, glaube ich?

+2

Ich hoffe, Sie haben die Erweiterung aktiviert! :) – Venu

+0

Ich habe .. noch kein Glück. Welche DLL soll ich genau herunterladen? –

+0

Sind Sie sicher, dass die Erweiterung geladen wurde? Überprüfe 'phpinfo()' und sieh nach, ob es aufgelistet ist. –

Antwort

4

Dies ist für zukünftige Besucher!

  1. Überprüfen Sie phpinfo() und sehen Sie, ob es aufgeführt ist.
  2. Wenn nicht, überprüfen Sie, ob die Erweiterung in der php.ini aktiviert ist und überprüfen Sie dann die Apache-Fehlerprotokolle auf Fehlermeldung! dll sollte mit dem gleichen Compiler wie der php übereinstimmen. (VC9 oder VC6) btw, memcache.dll fein

Sie können die PHP-Erweiterung bekommen "memcache" mit PHP auf Windows Memcached verwenden hier http://downloads.php.net/pierre/

Memcached ist der Server-Daemon und Sie können es für Windows hier http://splinedancer.com/memcached-win32/

+12

Alle Links scheinen gebrochen zu sein: | – Gigala

2

Basierend auf den Kommentaren nehme ich an, dass Sie memcached nicht heruntergeladen und installiert haben, aber das Memcached-Modul für PHP erfolgreich installiert haben. Grundsätzlich haben Sie die Autoschlüssel bekommen, aber haben das Auto nicht.

memcached ist für Linux gebaut, wurde aber von anderen auf Windows portiert. Dieses Tutorial ist alt, könnte aber das sein wonach Sie suchen: http://www.codeforest.net/how-to-install-memcached-on-windows-machine

12

Ein Hinweis für alle, die Probleme mit Memcached unter Windows arbeiten.

  • Für Starter stellen Sie sicher, dass Sie die richtige Version der Memcached-DLL haben und auf die zugegriffen werden kann. Es gibt eine große Auswahl unter http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/ und es ist allzu einfach, die falsche Version von memcached zu wählen!.
  • Wenn Sie PHP 5.5 ausführen, benötigen Sie zusätzlich php5.dll. Sie erhalten diese here
  • Sie müssen möglicherweise Ihre Umgebung PATH-Einstellungen bearbeiten, damit diese DLL gefunden werden kann. Gehen Sie zu Arbeitsplatz-> Eigenschaften-> Erweitert und klicken Sie auf Umgebungsvariablen, um den Pfad anzuzeigen/zu bearbeiten. Sie müssen den Computer neu starten, wenn Sie dies bearbeiten.
  • Stellen Sie sicher, dass der Memcached-Server installiert ist. Strg + Alt + Entf und überprüfen, dass memcached in Ihrer Liste der Dienste vorhanden ist
  • Wenn nicht müssen Sie * installieren Sie es von der Eingabeaufforderung Cmd als Administrator ausführen (aus dem Startmenü, wählen Sie Zubehör, klicken Sie auf die Eingabeaufforderung und Wählen Sie als Administrator) c: \ pathtomemcached \ memcached.exe -d install
  • folgen Sie diesem mit c: \ pathtomemcached \ memcached.exe -d starten oder net starten "memcached Server". Bei meiner Installation ist die ehemalige nicht funktioniert
  • Ebenso bin ich nicht in der Lage von den Registerkarte Diensten der Task-Manager
  • Es ist praktisch Memcached beginnen mit Memcached auf einem niedrigen Niveau in der Lage sein zu spielen, um so enable telnet, falls erforderlich, und geben Sie an der Eingabeaufforderung telnet ein. Öffnen Sie nun den Port 11211 und versuchen Sie es mit memcached
  • Es ist auch nützlich, in der Lage zu sein, im Auge zu behalten, was in Memcached passiert. phpMemCacheAdmin ist bei weitem das beste Werkzeug für den Job
+0

Ich denke, dass dies: ** "Es ist zu einfach, den falschen zu wählen" ** kann in dieser Antwort fett geschrieben werden. Ich habe den ganzen Tag verloren, weil ich die falsche Version gewählt habe. Ich möchte auch hinzufügen, dass es sehr wichtig ist, zu haben ** 86x/64x ** WAMP und memcache.dll Version und WAMP kompiliert VC6/VC9 und passende ** VC6/VC9 ** Version von memcache.dll. Ich habe WAMP VC9 und ich benutzte memcache.dll VC6, deshalb war es nicht Arbeit. – Rob

+0

@Rob - Guter Punkt! Ich habe die Antwort bearbeitet und die wichtigen Teile der Antwort hervorgehoben. – DroidOS

+0

Um festzustellen, ob Thread Safe oder Non Thread Safe verwendet wird, half mir das: http://StackOverflow.com/a/5800346/470749 – Ryan

Verwandte Themen