原帖
首先,我想安装memcached,而不是 memcache。
从昨天开始,我正在尝试设置 memcached 以在 ubuntu 12.10 上与我的 lampp 服务器一起使用。我已经遵循了几乎所有我能找到的教程。最近,我尝试做的是:
在终端
apt-get install libmemcached-dev
cd /opt/lampp
./bin/pecl install memcached
然后在 php.ini 文件中添加 extension="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
看来这家伙有同样的问题,但扩展名不同。当我尝试使用以下命令编译 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
问题是我什至不知道我是否走在正确的道路上。如果有人可以编写简短的分步指南如何使其正常工作,或者只是告诉我问题出在哪里,那就太好了。
更新
执行后sudo dpkg --add-architecture i386 sudo apg-get update sudo apt-get install libmemcached-dev:i386 libz-dev:i386
memcachedphpize CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure make
编译正常。但是它仍然不起作用。再次检查 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