原帖設置使用PECL
首先,memcached的用於LAMPP在Linux上,我想安裝memcached的,沒有內存緩存。
我試圖建立memcached的,因爲昨天在Ubuntu 12.10與我LAMPP服務器一起工作。我已經遵循幾乎所有我能找到的教程。最近的事情,我試圖做的是:
在終端
apt-get install libmemcached-dev
cd /opt/lampp
./bin/pecl install memcached
,然後在php.ini文件中添加擴展=「memcached.so」。在此之後,我重新啓動LAMPP使用/opt/lampp/lampp restart
當我試圖在我的瀏覽器,它剛剛下載到打開PHP腳本。運行tail -20 /opt/lampp/logs/php_error_log
這是我所看到的:
PHP Warning: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/memcached.so' - /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/memcached.so: wrong ELF class: ELFCLASS64 in Unknown on line 0
看來this guy有同樣的問題,但不同的擴展名。當我嘗試編譯擴展的32位版本的使用:
phpize
CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure
make
但make
引發以下錯誤:
/usr/bin/ld: skipping incompatible /usr/local/lib/libmemcached.so when searching for -lmemcached
/usr/bin/ld: cannot find -lmemcached
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
make: *** [memcached.la] Error 1
的問題是,我甚至不知道我是不是上正確的路徑。如果有人能夠寫出一步一步的指導方法,或者只是告訴我問題出在哪裏,那就太棒了。
UPDATE
執行sudo dpkg --add-architecture i386 sudo apg-get update sudo apt-get install libmemcached-dev:i386 libz-dev:i386
和phpize CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure make
的memcached後編譯罰款。但它仍然不起作用。檢查PHP的錯誤日誌後我再次得到這個
PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/memcached.so' - /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/i386-linux-gnu/libstdc++.so.6) in Unknown on line 0
您已經安裝了libmemcached庫的版本是隻有64位,也許? – Charles
是的,那是我設法編譯memcached的情況 –