繁体   English   中英

Drupal —致命错误:找不到类“ Memcache”

[英]Drupal — Fatal error: Class 'Memcache' not found

我已经在本地主机上安装了drupal。 它在2个月前运作良好,但现在发生了一些事情,我不知道为什么。 如果您能帮助我,我将不胜感激。 提前致谢。

完整的错误如下所示:

致命错误:在第177行的/srv/www/htdocs/modules/memcache/dmemcache.inc中找不到类“ Memcache”

1)php -m给出了以下内容:

[PHP模块]
bz2
类型
日期
dom
过滤
d
杂凑
图标
json
的libxml
mbstring
加密
MySQL的
mysqli
pcre
PDO
pdo_mysql
pdo_sqlite
反射会话SimpleXML SPL SQLite标准sysvsem标记程序xml xmlreader xmlwriter zip zlib

[Zend模块]无

2)memcached是通过软件包管理器安装的。

3)安装了用于drupal的内存缓存模块

我究竟做错了什么? 谢谢。

我与googletorp开会,认为问题似乎取决于内存缓存安装。 尝试这个:

#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

以上过程已从注释中残酷地复制到了正式的memecache文档页面。 日期为11.12.09。

今天,一位同事为我解决了这个问题,我使用了Drupal&Drush(命令行工具),有时还使用了MAMP。

尝试:

echo $PHPRC

如果出现空白,则将其保存在〜/ .profile或*〜/ .bash_profile *配置文件中:

export PHPRC='/Library/Application Support/appsolute/MAMP PRO/conf/php.ini'

非常感谢您的回答-我终于解决了这个问题。 这是针对openSUSE 11.1的解决方案。

  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服务

  2. 为php安装memcached守护程序并将其作为守护程序运行。

  3. 安装Drupal的Memcache插件 (此处提供所有说明: http : //drupal.org/project/memcache

UPD 升级PHP时要格外小心:安装的模块可能无法在新版本中正常工作-您应该重新编译它们。 但是以某种方式“ pear install -f pecl / memcache”对我有用:)

看来您的memcache drupal模块期望在提及的inc文件中有一个可用的类。

  • 您是否升级了drupal模块?
  • 在这种情况下,最好在drupal.org上查看模块的问题队列。

看起来这是问题的drupal模块。 我猜升级失败了。

编辑:
我看了看模块,当时我在iPhone上,所以无法看清代码。 您的问题是Drupal找不到Memcache类。 此修复程序在安装过程的第二步中定义。

2.为PHP安装PECL memcache扩展。 该版本必须为2.2.1或更高版本,否则您将遇到错误。

您现在丢失了此消息,或者安装有问题。 无论如何,Drupal找不到此扩展中定义的Memcache ,这就是为什么会出现致命错误的原因。

仅将extension=memcached.so添加到您的php.ini就足够了。 可以使用phpinfo();找到该文件的位置phpinfo();

确保随后重新启动apache。

我的看法是,memecache可能已安装在您的计算机上,但是在使用memecache之前,此问题未通过PHP正确编译。 在这里查看更多详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM