2011-02-08 25 views
8

Vừa hoàn thành cài đặt libevent (1.4.8), memcached (1.4.5), lê và libmemcached (0.40) vào máy chủ đèn của tôi (chạy PHP 5.2. 10 & Centos 5.5 Final), và theo như tôi có thể nói, mọi thứ được cài đặt đúng (có thể giải quyết tất cả các lỗi trong quá trình cài đặt).Cài đặt Memcached (Theo lý thuyết), PHP không thể sử dụng memcache_connect()

Tuy nhiên, sau khi cuối cùng nhận được tất cả mọi thứ được cập nhật và cài đặt ... sau khi cố gắng một trong hai điều sau đây:

$test=memcache_connect('127.0.0.1', 11211); // OR 

$memcache = new Memcache; 
$memcache->connect('127.0.0.1', 11211) 

tôi nhận được lỗi: lỗi

Fatal: Class 'Memcache' không tìm thấy (hoặc) Lỗi nghiêm trọng: Gọi tới chức năng không xác định memcache_connect()

Tôi (thừa nhận) không tốt với Linux vào thời điểm này, mặc dù sau khi thiết lập máy chủ này hoàn toàn từ đầu, tôi chắc chắn đang tiến hành trong quá trình giáo dục :) Bất kỳ trợ giúp nào sẽ được nhiều đánh giá cao!

phpinfo() Shows memcached is enabled

Trả lời

12

Bạn đã cài đặt các Memcached khách hàng (không phải là khách hàng Memcache, đó là, rất gây nhầm lẫn, cũng là một khách hàng Memcached). Sử dụng số Memcached class để thay thế.

Trong trường hợp bạn đang tự hỏi sự khác biệt giữa hai khách hàng là gì: đây là một số đẹp comparison table.

+0

Ôi chúa ơi ... cảm ơn! Tôi tạm thời bối rối hơn, tuy nhiên http://php.net/manual/en/class.memcached.php] (http://php.net/manual/en/class.memcached.php) đã giúp rất nhiều xa. Đúng nếu tôi sai, nhưng có vẻ như memcached sẽ thay thế memcache? Hay chúng hoàn toàn tách biệt? Dù bằng cách nào, cảm ơn bạn đã giúp đỡ của bạn! – Jonathan

+0

Nó không thực sự là một thay thế, chỉ là một cách tiếp cận khác nhau để thực hiện một khách hàng PHP cho Memcached. Tùy thuộc vào nhu cầu của bạn, bạn có thể sử dụng một trong hai khách hàng. –

2

Dường như bạn vẫn cần PECL/memcache hoặc PECL/memcached (Client/php cuối)

PECL/memcached sẽ sử dụng libmemcached.

pecl/memcache không có sự phụ thuộc đó.

Some of notes on how to install pecl/memcached 
Yum install: 
    * memcached 
    * memcached-devel 
    * php-pear 
    * php-devel 
    * gcc 
    * gcc-c++ 
    * zlib-devel 

Download libmemcached from: http://download.tangent.org/ 
Configure, Make, Make install 
pecl install memcached 
added "extension=memcached.so" to php.ini 
+0

Cảm ơn bạn! Điều này, cùng với câu trả lời của Victor đã giúp tôi tìm ra nó. $ mc = new Memcached; làm việc hoàn hảo. Cảm ơn một lần nữa! – Jonathan

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