2015-01-16 5 views
10

Я понимаю, что есть около 10 из этих вопросов, но никто не подходит мне полностью.PHP 5.4 & Laravel Class 'Memcached' не найден

шаги завершенные:

  1. Установленная Memcache
  2. установлен PHP Memcache модуль
  3. обновленный Laravel конфигурации для использования кэша памяти
  4. перезапущен сервер

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-инструмент:

  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 ремесленника повозиться и попытаться сделать какие-либо кэширование я получаю типичный Fatal error: Class 'Memcached' not found in vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php on line 44

TL; DR;

Я подтвердил установку memcache несколькими способами. Подтвержден модуль для php. Все еще не позволяя мне использовать memcached класс.

+1

У вас есть memcahe или memcahed, установленный? Laravel хочет второй one.http: //pecl.php.net/package/memcached – Mihai

+0

Ух, оставьте его мне не знать, что они две разные вещи –

+3

'memcache' и 'memcached' - это две разные вещи. –

ответ

13

Memcache и Memcached - это два разных расширения PHP. Memcache является устаревшим устаревшим. Memcached - это гораздо более новое и полностью поддерживаемое расширение.

Заканчивать http://pecl.php.net/package/memcached

Вы, возможно, потребуется также установить libmemcachedhttps://launchpad.net/libmemcached/+download

+0

Я действительно закончил с помощью http: //pecl.php.net/package/memcached и установить его в соответствии с инструкциями в файле readme/copy 'so' в каталог модулей/добавив файл на мой php.ini. Спасибо за помощь .... чувствую себя довольно немым –

+0

Нет проблем. Эта точная проблема возникает часто, потому что расширения, похоже, имеют одно и то же имя, но совершенно разные. Также не помогает сервер memcache упоминается как memcache и memcached взаимозаменяемо. –

19

Если вы находитесь в среде Ubuntu, попробуйте установить Memcached с этим:

sudo apt-get install php5-memcached

После этого рестарта ваш сервер с

sudo service lighttpd restart

или

sudo service apachectl2 restart

или

sudo service nginx restart

+0

это решило мою проблему «class memcached not found» в laravel 5.0, спасибо! Я также добавил еще одну строку перед перезапуском сервера apache2, "sudo php5enmod memcached" – Jayant

3
apt-get install php-memcached 

решен вопрос для "класса Memcached не найден" исходя из Laravel.

Смежные вопросы