Apache 在Fedora linux操作系统上安装memcache
我以以下方式安装了memcache: 1) yum安装memcached 2) yum安装php-pecl-memcached 3) 还启用了php.ini中的“memcached.so” 我用以下方法测试了memcached: $mc=新的Memcache; $mc->addServer('localhost',11211); echo“服务器的版本:”$mc->getVersion() 但它会产生以下错误: PHP警告:PHP启动:无法加载动态库'/usr/lib64/PHP/modules/memcached.so'-/usr/lib64/PHP/modules/memcached.so:未定义的符号:PHP_json_在第0行的未知位置编码 PHP致命错误:在第2行的/root/memcacheTest.PHP中找不到类“Memcache”Apache 在Fedora linux操作系统上安装memcache,apache,memcached,Apache,Memcached,我以以下方式安装了memcache: 1) yum安装memcached 2) yum安装php-pecl-memcached 3) 还启用了php.ini中的“memcached.so” 我用以下方法测试了memcached: $mc=新的Memcache; $mc->addServer('localhost',11211); echo“服务器的版本:”$mc->getVersion() 但它会产生以下错误: PHP警告:PHP启动:无法加载动态库'/usr/lib64/PHP/modules
谢谢。您能检查并再次检查用户权限吗?此外,我对PHP的经验是,PHP的分发存储库版本不是很好。我通过从头编译PHP解决了这些符号错误。但是这是一个非常激进和耗时的解决方案。我对PHP不太了解(或者根本不了解),但是从错误消息中我猜您没有安装PHP JSON扩展,这显然是memchached扩展所需要的 ,JSON扩展从5.2.0版开始就在PHP中,因此:
- 您的版本较旧,需要自己升级或安装JSON扩展
- 您的操作系统分发服务器在您尚未安装的另一个包中提供PHP JSON扩展
另外,请检查memcached.so上的权限是否与其他扩展相同尝试安装版本2.0。这对我有帮助
yum -y install gcc-c++
wget http://launchpad.net/libmemcached/1.0/0.50/+download/libmemcached-0.50.tar.gz
tar xzf libmemcached-0.50.tar.gz
cd libmemcached-0.50
./configure
make
make install
wget http://pecl.php.net/get/memcached-2.0.0b2.tgz
pecl install memcached-2.0.0b2.tgz
echo 'extension=memcached.so' > /etc/php.d/memcached.ini
service php-fpm restart
cd ..
rm -r libmemcached-0.50*
rm -r memcached-
这表明memcached.so没有成功加载 错误显示原因:json.so应该在memcached之前加载。so 请使用
php-m | grep memcached
检查memcached.so是否成功加载
- 如果show
,这意味着它成功了memcached
- If show like
PHP警告:PHP启动:无法加载动态库'/usr/lib64/PHP/modules/memcached.so'-/usr/lib64/PHP/modules/memcached.so'-/usr/lib64/PHP/modules/memcached.so:未定义符号:PHP_json_decode_exin Unknown在第0行
vim/etc/php.d/memcached.ini
extension=memcached.so
php-m | grep memcached
检查memcached是否成功加载rm/etc/php.d/json.ini
extension=json.so
添加到extension=memcached.so
php-m | grep memcached
检查memcached是否成功加载投票结束:离题:这个问题属于服务器故障。