無法在 Gentoo 上的 PHP 中載入 Memcached
我正在使用 Gentoo 基本系統版本 2.0.3、apache-2.2.21-r1、php 5.3.8-pl0 和 memcached-1.4.5。我做了以下事情:
emerge dev-php/pecl-memcache emerge dev-php/pecl-memcached emerge dev-libs/libmemcache emerge dev-libs/libmemcached
一切安裝就好了。我已經啟動了 memcached,可以在埠上 telnet 並執行 stats 命令。當然,我沒有忘記重啟 apache。
現在,對於 PHP 部分:
ls -lh /etc/php/apache2-php5.3/ext-active/ lrwxrwxrwx 1 root root 41 Jan 6 09:58 memcached.ini -> /etc/php/apache2-php5.3/ext/memcached.ini lrwxrwxrwx 1 root root 40 Jan 6 09:48 memcache.ini -> /etc/php/apache2-php5.3/ext/memcache.ini
分別包含extension=memcache.so和extension=memcached.so。
php -i|grep memcache Additional .ini files parsed => /etc/php/cli-php5.3/ext-active/memcache.ini, /etc/php/cli-php5.3/ext-active/memcached.ini memcache memcache support => enabled memcache.allow_failover => 1 => 1 memcache.chunk_size => 32768 => 32768 memcache.compress_threshold => 20000 => 20000 memcache.default_port => 11211 => 11211 memcache.hash_function => crc32 => crc32 memcache.hash_strategy => consistent => consistent memcache.lock_timeout => 15 => 15 memcache.max_failover_attempts => 20 => 20 memcache.protocol => ascii => ascii memcache.redundancy => 1 => 1 memcache.session_redundancy => 2 => 2 memcached memcached support => enabled libmemcached version => 0.39 Registered save handlers => files user memcache memcached php -m | grep -i memcache memcache memcached
所以一切都指向這樣一個事實,即 memcache 和 memcached 模組是在 PHP 中載入的,但是如果我使用 a
<?php phpinfo() ?>
它不會顯示任何載入的模組,它只會顯示: 這兩個值表示本地值和主值。另外,如果我為 memcached 執行測試程式碼,如下所示:`Additional .ini files parsed /etc/php/apache2-php5.3/ext-active/memcache.ini, /etc/php/apache2-php5.3/ext-active/memcached.ini
session.save_handler memcache memcache
session.save_path tcp://localhost:11211 tcp://localhost:11211`
<?php $memcache = new Memcache; $memcache->connect('localhost', 11211) or die ("Connexion impossible"); $version = $memcache->getVersion(); echo 'Version: '.$version; $memcache->set('key', 'koreus', false, 10) or die ("Echec de la sauvegarde des donné sur le serveur"); echo "Les donné ont é stocké dans le cache (les donné expireront dans 10 secondes)"; $get_result = $memcache->get('key'); echo 'Donné depuis le cache : '. $get_result; ?>
我收到以下錯誤消息: 致命錯誤:第 2 行的 /var/www/test/mem.php 中未找到 Class ‘Memcache’
對此有什麼想法嗎?我是 Gentoo 的新手,沒有發現任何與在其上配置 memcached+php 相關的特殊內容。
謝謝。
您目前的情況是 memcache 和 memcached 已在命令行中正確載入,
/etc/php/cli-php5.3/ext-active/
但Apache未/etc/php/apache2-php5.3/ext-active/
從.假設這些文件的 CLI 版本與 Apache 版本完全相同,可能值得檢查
/etc/php/apache2-php5.3/php.ini
以確保它正確地包含擴展目錄中的文件。在和下的所有內容上執行
diff
s 。/etc/php/cli-php5.3/``/etc/php/apache2-php5.3/