2015-06-13 82 views
8

我正在關注Ratchet的教程。對於SessionProvider頁,代碼是這樣的:PHP棘輪:Class Memcache找不到

<?php 
// Your shell script 
use Ratchet\Session\SessionProvider; 
use Symfony\Component\HttpFoundation\Session\Storage\Handler; 
use Ratchet\App; 

$memcache = new Memcache; // Class not found on line 7 
$memcache->connect('localhost', 11211); 

$session = new SessionProvider(
    new MyApp 
    , new Handler\MemcacheSessionHandler($memcache) 
); 

$server = new App('localhost'); 
$server->route('/sessDemo', $session); 
$server->run(); 

PHP拋出一個致命的錯誤,當我運行在command-line腳本:

類Memcache中未發現第7行

此代碼被置於bin \ chat-server.php中

Wierd Stuff

該類不適用於chat-server.php腳本。

+1

有沒有可能是你執行的命令行腳本,另一個通過網頁瀏覽器中的一個? – lxg

+0

您必須確實將memcache模塊添加到PHP CLI。但是,對不起,我不知道如何在Windows/XAMPP上執行此操作。 – lxg

+0

Memcache問題仍然存在。它是開放的答案。 –

回答

4

有兩個的服務memcached不同 PHP擴展:

  • memcache
  • memcached < - 注意d

看起來你已經安裝了後者,而你需要第一個爲你的應用程序。

您可以找到適用於Windows here正確的擴展

+0

Apache的線程安全擴展,對吧?那麼,我現在不能獎勵賞金。稍後再試:D –

+2

如果你在prefork模式下使用Apache,你可以使用'nts'版本,意思是*不是線程安全*,否則使用'ts'(* thread safe *)擴展名。 – hek2mgl