Drupal â € "Fatal error: Class 'Memcache' bulunamadı

5 Cevap php

Benim localhost drupal yüklü. Bu 2 ay önce iyi çalıştı, ama şimdi bir şey oldu ve ben nedenini bilmiyorum. Bana yardımcı olursa çok minnettar olacağım. Şimdiden teşekkürler.

Tam hata şuna benzer:

Fatal error: Class 'Memcache' not found in /srv/www/htdocs/modules/memcache/dmemcache.inc on line 177

1) php-m bu veriyor:

[PHP Modules]
bz2
ctype
date
dom
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
mysqli
pcre
PDO
pdo_mysql
pdo_sqlite
Reflection session SimpleXML SPL SQLite standard sysvsem tokenizer xml xmlreader xmlwriter zip zlib

[Zend Modules] none

2) memcached paket yöneticisi aracılığıyla yüklenir.

3) drupal için memcache modülü yüklü

Ben yanlış ne yapıyorum? thx.

5 Cevap

Thank you very much for your answers -- I've eventually managed with this problem. Here's the solution as for openSUSE 11.1.

  1. Kurulum memcache extension for php:

    #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
    

    şimdi Apache2'yi hizmetini yeniden başlatmanız gerekir

  2. Kurulum memcached daemon for php ve bir servis olarak çalıştırın.

  3. Kurulum memcache plugin for drupal (burada tüm talimatları: http://drupal.org/project/memcache)

UPD. yükseltme PHP ile dikkatli olun: intalled modülleri yeni sürümü ile iyi çalışıyor olabilir - sen bunları yeniden derlemek gerekir. ama nedense "armut install-f pecl / memcache" Benim için hile yaptı :)

Ben sorun memcache kurulumu güvenmek görünüyor googletorp ile toplanır. Bu deneyin:

#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

Yukarıdaki prosedür vahşice official memecache documentation bir sayfa yorumlarından kopyalanan olmuştur. Bu 11.12.09 tarihli.

Bir meslektaş Ben Drupal kullanmak ve bu konuda bugün bana yardımcı oldu Drush bazen (komut satırı aracı) ve MAMP.

Deneyin:

echo $PHPRC

Boş gelir, o zaman ~/.profile Bu kaydetmek veya * ~ / bash_profile * config dosyası.:

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

Bu memcache drupal modülü bir sınıf belirtilen inc dosyasında mevcut bekliyor gibi görünüyor.

  • Eğer drupal modülünü yükseltmek mi?
  • Böyle durumlarda drupal.org üzerinde modül için sorun que bakmak iyidir.

Bu sorun drupal modül var gibi görünüyor. Benim tahminim bir yükseltme yanlış gitti.

EDIT:
I Took at look at the module, I was on my iphone, so couldn't look through the code. Your problem is that Drupal can't find the Memcache class. This fix is defined in step two of the installation process.

2. Install the PECL memcache extension for PHP. This must be version 2.2.1 or higher or you will experience errors.

Şimdi bu eksik, ya da bir şey yükleme ile yanlış ya. Herhangi bir konuda, Drupal Memcache bu uzantı tanımlanmış bulamıyor, ve ölümcül hata alıyorum neden olmasıdır.

Bu sadece extension=memcached.so sizin php.ini eklemek için yeterli olabilir. Bu dosyanın konumu kullanarak bulunabilir phpinfo();

Eğer daha sonra apache yeniden emin olun.