我通过读取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文件上:
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月份以来,这个问题一直没有答案或解决方案。)
发布于 2012-08-14 17:35:26
将以下内容添加到您的php.ini:
extension="php_memcache.dll"
并重新启动apache
发布于 2012-08-15 08:48:48
Memcached只使用标准的文本接口,所以不需要模块也可以使用它。
// 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));
}
发布于 2015-02-14 17:19:07
另外,在apache .conf文件中加载另一个版本的php模块时也会出现问题。需要检查重复的"LoadModule php...“指令,以及该模块是否编译为apache的正确版本。这听起来很简单,但当你在一台机器上有多个版本的php时就不是这样了:)或者这也可能是SElinux的问题。
https://stackoverflow.com/questions/11883378
复制相似问题