2015-01-16 33 views
10

Tôi nhận thấy có khoảng 10 trong số những câu hỏi này ngoài kia nhưng không có gì phù hợp với tôi hoàn toàn.PHP 5.4 & Laravel Class 'Memcached' không tìm thấy

bước hoàn thành:

  1. cài đặt memcache
  2. cài đặt php memcache mô-đun
  3. cập nhật laravel cấu hình để sử dụng memcache
  4. máy chủ Khởi động lại thông tin

php kết quả:

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 

kết quả memcached-công cụ:

  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 

Đó là trong php-m là "memcache"

Tuy nhiên, khi tôi đi vào php nghệ nhân tinker và cố gắng làm bất cứ bộ nhớ đệm tôi nhận được điển hình Fatal error: Class 'Memcached' not found in vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php on line 44

TL; DR;

Tôi đã xác nhận cài đặt memcache thông qua nhiều phương pháp. Đã xác nhận mô-đun cho php được cài đặt. Vẫn không cho phép tôi sử dụng lớp memcached.

+1

Bạn có memcahe hoặc memcahed được cài đặt không? Laravel muốn cái thứ hai.http: //pecl.php.net/package/memcached – Mihai

+0

Wow để nó cho tôi để không biết chúng là hai thứ khác nhau –

+3

'memcache' và 'memcached' là hai thứ khác nhau –

Trả lời

13

MemcacheMemcached là hai phần mở rộng PHP khác nhau. Memcache là phiên bản cũ không được dùng nữa. Memcached là một phần mở rộng mới hơn và được hỗ trợ đầy đủ.

Check-out http://pecl.php.net/package/memcached

Bạn có thể cũng cần phải cài đặt libmemcachedhttps://launchpad.net/libmemcached/+download

+0

Tôi thực sự đã kết thúc bằng cách sử dụng http: //pecl.php.net/gói/memcached và cài đặt nó theo các hướng dẫn trong readme/sao chép các 'như vậy' tập tin vào thư mục modules/thêm các tập tin như vậy để php.ini của tôi. Cảm ơn sự giúp đỡ .... cảm thấy khá câm –

+0

Không có vấn đề. Vấn đề chính xác này xuất hiện thường bởi vì các phần mở rộng dường như có cùng tên chính xác nhưng hoàn toàn khác nhau. Cũng không giúp máy chủ memcache được gọi là memcache và memcached thay thế cho nhau. –

19

Nếu bạn đang ở trong một môi trường ubuntu, hãy thử cài đặt Memcached với điều này:

sudo apt-get install php5-memcached

Sau khi khởi động lại mà máy chủ của bạn với

sudo service lighttpd restart

hoặc

sudo service apachectl2 restart

hoặc

sudo service nginx restart

+0

điều này giải quyết vấn đề của tôi về "lớp memcached không tìm thấy" trong laravel 5.0, cảm ơn! Tôi cũng đã thêm một dòng nữa trước khi khởi động lại máy chủ apache2, "sudo php5enmod memcached" – Jayant

3
apt-get install php-memcached 

giải quyết được vấn đề cho "Class memcached không tìm thấy" đến từ Laravel.

Các vấn đề liên quan