Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 在Fedora linux操作系统上安装memcache_Apache_Memcached - Fatal编程技术网

Apache 在Fedora linux操作系统上安装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

我以以下方式安装了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”


谢谢。

您能检查并再次检查用户权限吗?此外,我对PHP的经验是,PHP的分发存储库版本不是很好。我通过从头编译PHP解决了这些符号错误。但是这是一个非常激进和耗时的解决方案。

我对PHP不太了解(或者根本不了解),但是从错误消息中我猜您没有安装PHP JSON扩展,这显然是memchached扩展所需要的

,JSON扩展从5.2.0版开始就在PHP中,因此:

  • 您的版本较旧,需要自己升级或安装JSON扩展

  • 您的操作系统分发服务器在您尚未安装的另一个包中提供PHP JSON扩展
当然有可能出现错误配置,但我认为可能性稍小。

只需确保在之前指定了extension=json.so extension=memcached.so

我在php.ini中放置了extension=memcached.so,extension=json.so 在/etc/php.d/json.ini中指定,在php.ini之后解析。 这就是为什么PHP在加载时找不到PHP_json_encode() memcached.so


另外,请检查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行
以下是解决方案: e、 g您的php.ini是/etc/php.ini,您的php.d是/etc/php.d/

解决方案1

  • php.ini中的注释'memcached.so'
  • vim/etc/php.d/memcached.ini
  • 在/memcached.ini中添加
    extension=memcached.so
  • php-m | grep memcached
    检查memcached是否成功加载
  • 解决方案2

  • rm/etc/php.d/json.ini
  • 在php.in中将
    extension=json.so
    添加到
    extension=memcached.so
  • php-m | grep memcached
    检查memcached是否成功加载

  • 投票结束:离题:这个问题属于服务器故障。