首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到类'Memcache‘& PHP

找不到类'Memcache‘& PHP
EN

Stack Overflow用户
提问于 2012-08-09 20:23:34
回答 4查看 38.7K关注 0票数 19

我通过读取Windows7上的this article安装了memcached,但不幸的是,我一直收到错误Fatal error: Class 'Memcache' not found in D:\xampp\htdocs\test\memcache\test.php on line 2

第2行:$memcache = new Memcache;

Win7 64,已安装Xampp。我在命令行上使用net start "memcached Server",但它显示服务已经启动。

其他一些可能有帮助的信息;

在php.ini文件上:

代码语言:javascript
复制
extension=php_memcache.dll

    [Memcache]  
    memcache.allow_failover = 1  
    memcache.max_failover_attempts=20  
    memcache.chunk_size =8192  
    memcache.default_port = 11211  

更新: phpinfo();未加载show dll。到目前为止,尝试了几个不同的dll文件,都不起作用。另外,dll的位置也是正确的。它看起来是在正确的文件夹中。

(附注:有些人可能认为这个主题可能是重复的,但there is only 1 person遵循了相同的说明,在这样做时也犯了同样的错误。自3月份以来,这个问题一直没有答案或解决方案。)

EN

回答 4

Stack Overflow用户

发布于 2012-08-14 17:35:26

将以下内容添加到您的php.ini:

代码语言:javascript
复制
extension="php_memcache.dll"

并重新启动apache

票数 7
EN

Stack Overflow用户

发布于 2012-08-15 08:48:48

Memcached只使用标准的文本接口,所以不需要模块也可以使用它。

代码语言:javascript
复制
// connect
$link = fsockopen($host,$port,$errno,$errst,$timeout);

// set
$data = sprintf("set %s 0 %s %s\r\n%s\r\n",
            $key,$expire,strlen($value),$value);
fwrite($link,$data);
$result = trim(fgets($link));
if ($result == 'ERROR') {
    // :(
}

// get
$data = sprintf("get %s\r\n",$key);
fwrite($link,$data);
$line = rtrim(fgets($link)); 
if ($line != 'END') {
    return rtrim(fgets($link));
}
票数 6
EN

Stack Overflow用户

发布于 2015-02-14 17:19:07

另外,在apache .conf文件中加载另一个版本的php模块时也会出现问题。需要检查重复的"LoadModule php...“指令,以及该模块是否编译为apache的正确版本。这听起来很简单,但当你在一台机器上有多个版本的php时就不是这样了:)或者这也可能是SElinux的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11883378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档