2015-06-13 76 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