PHP 5.4&没找到Laravel Class'Memcached'

时间:2015-01-16 20:01:56

标签: php laravel memcached

我意识到这里有大约10个问题,但没有一个完全适合我。

已完成步骤:

  1. 已安装的内存缓存
  2. 安装了php memcache模块
  3. 更新了laravel配置以使用memcache
  4. 重新启动的服务器
  5. php信息结果:

    memcache.allow_failover 1   1
    memcache.chunk_size 8192    8192
    memcache.default_port   11211   11211
    memcache.default_timeout_ms 1000    1000
    memcache.hash_function  crc32   crc32
    memcache.hash_strategy  standard    standard
    memcache.max_failover_attempts  20  20
    

    memcached-tool结果:

             accepting_conns           1
                   auth_cmds           0
                 auth_errors           0
                       bytes           0
                  bytes_read          14
               bytes_written        1096
                  cas_badval           0
                    cas_hits           0
                  cas_misses           0
                   cmd_flush           0
                     cmd_get           0
                     cmd_set           0
                   cmd_touch           0
                 conn_yields           0
       connection_structures           6
           crawler_reclaimed           0
            curr_connections           5
                  curr_items           0
                   decr_hits           0
                 decr_misses           0
                 delete_hits           0
               delete_misses           0
           evicted_unfetched           0
                   evictions           0
           expired_unfetched           0
                    get_hits           0
                  get_misses           0
                  hash_bytes      524288
           hash_is_expanding           0
            hash_power_level          16
                   incr_hits           0
                 incr_misses           0
                    libevent 2.0.21-stable
              limit_maxbytes   268435456
         listen_disabled_num           0
           lrutail_reflocked           0
                malloc_fails           0
                         pid       12022
                pointer_size          64
                   reclaimed           0
                reserved_fds          20
               rusage_system    0.043400
                 rusage_user    0.065101
                     threads           4
                        time  1421438137
           total_connections           7
                 total_items           0
                  touch_hits           0
                touch_misses           0
                      uptime        2607
                     version      1.4.21
    

    它在php -m中作为“memcache”

    但是,当我进入php artisan tinker并尝试进行任何缓存时,我会得到典型的Fatal error: Class 'Memcached' not found in vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php on line 44

    TL; DR;

    我已通过多种方法确认安装了memcache。确认已安装php模块。仍然不允许我使用memcached类。

4 个答案:

答案 0 :(得分:20)

如果您在ubuntu环境中,请尝试使用以下命令安装Memcached:

sudo apt-get install php5-memcached

之后用

重新启动服务器

sudo service lighttpd restart

sudo service apachectl2 restart

sudo service nginx restart

答案 1 :(得分:18)

MemcacheMemcached是两种不同的PHP扩展。 Memcache是旧版已弃用的版本。 Memcached是一个更新且完全支持的扩展程序。

查看http://pecl.php.net/package/memcached

您可能还需要安装libmemcached https://launchpad.net/libmemcached/+download

答案 2 :(得分:7)

apt-get install php-memcached

解决了"未找到类MemCached的问题"来自Laravel。

答案 3 :(得分:1)

在Laravel / Lumen 5.4中,只需替换.env文件中的CACHE_DRIVER = file,artisan命令将完美运行,但是您将无法获得与laravel相同的所有命令。