Ubuntu
nginx 似乎沒有為 php 載入 memcached 模組
我有一台執行 nginx 和 memcache 的 Ubuntu 機器,我正在嘗試將 PHP 與 Memcached 一起使用。我得到
Fatal error: Class 'Memcached' not found
。ini 文件是從 載入的
/etc/php5/fpm/php.ini
,並且所有其他的 .ini 文件都被解析,除了 memcached.ini(即使在重新啟動 nginx 之後),如 phpinfo() 的輸出所示。我試過
apt-get install php5-memcache
了,它沒有錯誤地完成。但是,pecl install memcached
失敗並出現以下錯誤:In file included from /tmp/pear/temp/memcached/php_memcached.h:22:0, from /tmp/pear/temp/memcached/php_memcached.c:47: /tmp/pear/temp/memcached/php_libmemcached_compat.h:5:40: fatal error: libmemcached-1.0/memcached.h: No such file or directory compilation terminated. make: *** [php_memcached.lo] Error 1 ERROR: `make' failed
伺服器有 libmemcache
/usr/include/libmemcached
,但即使 pecl install with--with-libmemcache=/usr/include/libmemcached
失敗。的輸出
php -i | grep -i memcache
如下:/etc/php5/cli/conf.d/memcached.ini, memcached memcached support => enabled libmemcached version => 0.44 Registered save handlers => files user memcached PWD => /usr/include/libmemcached _SERVER["PWD"] => /usr/include/libmemcached
我不確定還有什麼要檢查的。如果有人可以幫助我解決這個問題,我們將不勝感激。
謝謝!
$$ UPDATE $$ Memcached 正在使用 cli。
我解決了這個問題。我唯一要做的就是重新啟動 php5-fpm
sudo service php5-fpm restart
。
什麼是輸出
php -i |grep 記憶體記憶體
我使用 memcache 來儲存 php 會話以及 Magento Cache & Sessions。
有兩點不能混淆:
- Memcached -> 注意“d”,它是一個監聽埠號:11211 的守護程序。它可用於儲存 php 會話而不是文件系統等。
- Memcache -> 一個通常不用 php 編譯的模組。當您想將 php 會話儲存在 memcached 中時使用它。
因此,如果 php -i |grep memcache 顯示您已安裝 memcache。然後你需要安裝 memcached(守護程序)才能使用/發送會話給它。