首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpfastcache无法加载Memcache的驱动程序

phpfastcache无法加载Memcache的驱动程序
EN

Stack Overflow用户
提问于 2017-04-19 03:22:52
回答 1查看 380关注 0票数 1

我正在尝试为我的php项目实现memcached,而我的代码从来没有通过CacheManager::getInstance()调用,因为phpFastCache在为缓存实例化正确的驱动程序时处于爆炸状态。它失败的确切行是:

return class_exists('Memcached');

这是Memcached/Driver.php文件的第65行。

无论我做什么,这都会返回false。我也尝试过使用memcache,但它也会破坏类的exists行。提前谢谢。

以下是我的测试代码

代码语言:javascript
复制
<?php

require 'vendor/autoload.php';
use phpFastCache\CacheManager;

class MemcacheTest extends PHPUnit_Framework_TestCase
{
    var $adapter;

    function setUp()
    {

    }

    function tearDown()
    {

    }

    function testMemecached()
    {
        $InstanceCache = CacheManager::getInstance('memcached',['servers' => [
            [
                'host' => 'memcached_container',
                'port' => 11211,
                // 'sasl_user' => false, // optional
                // 'sasl_password' => false // optional
            ],
        ]]);

        $key = "sumkey";
        $CachedString = $InstanceCache->getItem($key);
        $result = $CachedString->get();
        if (is_null($result)) {
            $CachedString->set("here we are")->expiresAfter(120);
            $result = $InstanceCache->save($CachedString);
        } else {
            $skin = $CachedString->get();
        }
    }
}

php 7 phpfastcache 6.1

EN

回答 1

Stack Overflow用户

发布于 2021-06-28 12:53:55

我认为你应该在容器中安装memcached和memcache,这是我的docker文件中的memcache/memcached部分:

代码语言:javascript
复制
FROM php:$7.0-fpm-stretch
RUN apt-get update && apt-get install -y \
        libmemcached11 \
        libmemcachedutil2 \
        libmemcached-dev \
        libz-dev \
        git \
        zip \
    && cd /root \
    && git clone -b php7 https://github.com/php-memcached-dev/php-memcached \
    && cd php-memcached \
    && phpize \
    && ./configure \
    && make \
    && make install \
    && cd .. \
    && rm -rf  php-memcached \
    && echo extension=memcached.so >> /usr/local/etc/php/conf.d/memcached.ini \
    && apt-get remove -y build-essential libmemcached-dev libz-dev \
    && apt-get remove -y libmemcached-dev libz-dev \
    && apt-get autoremove -y \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get clean  ; \
  yes | pecl install memcache-4.0.5.2; \
  echo extension=memcache.so >> /usr/local/etc/php/conf.d/memcache.ini;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43480565

复制
相关文章

相似问题

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