我在本地主机上安装了drupal。它在2个月前运作良好,但现在发生了一些事情,我不知道为什么。如果你能帮助我,我将非常感激。提前谢谢。
完整错误如下所示:
致命错误:类'Memcache'没有 在发现 /srv/www/htdocs/modules/memcache/dmemcache.inc 在第177行
1)php -m给出了这个:
[PHP模块]
BZ2
CTYPE
日期
DOM
过滤
GD
哈希
的iconv
JSON
libxml的
MBSTRING
mcrypt的
MySQL的
mysqli的
PCRE
PDO
PDO_MYSQL
PDO_SQLITE
反思会话SimpleXML SPL SQLite标准sysvsem tokenizer xml xmlreader xmlwriter zip zlib[Zend Modules] 无
2)memcached通过包管理器安装。
3)安装了drupal的memcache模块
我做错了什么? THX。答案 0 :(得分:4)
我与googletorp召集,问题似乎依赖于memcache安装。试试这个:
#if apt-get, rpm, or yum doesn't work
cd /usr/src/
wget http://pecl.php.net/get/memcache-2.2.4.tgz
tar -zxvf memcached-2.2.4.tgz
cd memcached-2.2.4
phpize && ./configure --enable-memcache && make
cp modules/memcache.so /usr/lib/php/modules/
# Note: packaged extension modules are now loaded via the .ini files
# found in the directory /etc/php.d
touch /etc/php.d/memcached.ini
echo 'extension=memcache.so' > /etc/php.d/memcached.ini
service httpd restart
上述程序已被残酷地从评论复制到official memecache documentation的页面。它的日期是2009年12月11日。
答案 1 :(得分:2)
今天一位同事帮我解决了这个问题,我使用了Drupal& Drush(命令行工具),有时是MAMP。
尝试:
echo $PHPRC
如果它出现空白,请将其保存在〜/ .profile 或您的*〜/ .bash_profile *配置文件中:
export PHPRC='/Library/Application Support/appsolute/MAMP PRO/conf/php.ini'
答案 2 :(得分:1)
非常感谢您的回答 - 我最终解决了这个问题。 这是openSUSE 11.1的解决方案。
为php安装 memcache扩展:
#if apt-get, rpm, or yum doesn't work
cd /usr/src/
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar -zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize5
./configure --enable-memcache
make
make install
cp modules/memcache.so /usr/lib/php5/extensions/
# Note: packaged extension modules are now loaded via the .ini files
# found in the directory /etc/php5/conf.d/
touch /etc/php5/conf.d/memcache.ini
echo 'extension=memcache.so' > /etc/php5/conf.d/memcache.ini
现在你应该重启apache2服务
为php安装 memcached守护程序并将其作为守护程序运行。
为drupal安装 memcache插件(此处所有说明:http://drupal.org/project/memcache)
<强> UPD 即可。小心升级PHP:安装的模块可能不适用于新版本 - 您应该重新编译它们。但不知何故,“pear install -f pecl / memcache”为我做了诀窍:)。
答案 3 :(得分:0)
看来你的memcache drupal模块期望在所提到的inc文件中有一个类。
看起来这是drupal模块的问题。我猜测升级出错了。
修改强>
我看了看模块,我在我的iphone上,所以无法查看代码。你的问题是Drupal找不到Memcache类。此修复程序在安装过程的第二步中定义。
2。安装PHP的PECL memcache扩展。这必须是版本2.2.1或 更高或你会遇到错误。
您现在错过了这个,或者安装有问题。在任何方面,Drupal都找不到此扩展中定义的Memcache
,这就是您遇到致命错误的原因。
答案 4 :(得分:0)
将extension=memcached.so
添加到php.ini
可能就足够了。可以使用phpinfo();
确保之后重启apache。
答案 5 :(得分:0)
我的看法是meme缓存可能已安装在您的计算机上,但它没有使用PHP正确编译 在使用memcache之前遇到过这个问题。 查看here了解更多详情