【问题标题】:phpfastcache cant load driver for Memcachephpfastcache 无法加载 Memcache 的驱动程序
【发布时间】:2017-04-18 19:22:52
【问题描述】:

我正在尝试为我的 php 项目实现 memcached,但我的代码从未通过 CacheManager::getInstance() 调用,因为 phpFastCache 正在为缓存实例化正确的驱动程序而轰炸。它失败的确切行是:

return class_exists('Memcached');

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

无论我做什么,这都会返回 false。我也尝试过使用 memcache,但它也会在类存在线上炸弹。提前致谢。

这是我的测试代码

<?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

【问题讨论】:

    标签: php memcached phpfastcache


    【解决方案1】:

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

    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;
    

    【讨论】:

      猜你喜欢
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2016-05-11
      • 2020-10-27
      • 2013-03-03
      • 2021-11-09
      相关资源
      最近更新 更多