在 centos 5.8 上安装 PHP 5.3 Pear

在 centos 5.8 上安装 PHP 5.3 Pear

我刚刚用 32 位 Centos 5.8 创建了一个 VPS,并安装了 php53 和许多其他 php 5.3 软件包。我想使用 yum 安装 memcached,但出现以下错误

Resolving Dependencies
--> Running transaction check
---> Package php-pecl-memcached.i386 0:1.0.0-1.el5 set to be updated
--> Processing Dependency: php-zend-abi = 20050922 for package: php-pecl-memcached
--> Processing Dependency: libmemcached.so.2(libmemcached_2) for package: php-pecl-memcached
--> Processing Dependency: libmemcached.so.2 for package: php-pecl-memcached
--> Running transaction check
---> Package libmemcached.i386 0:0.31-1.1.el5 set to be updated
---> Package php-common.i386 0:5.1.6-40.el5_9 set to be updated
--> Processing Conflict: php53-common conflicts php-common
--> Finished Dependency Resolution
php53-common-5.3.3-13.el5_9.1.i386 from installed has depsolving problems
--> php53-common conflicts with php-common
Error: php53-common conflicts with php-common
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
                    package-cleanup --dupes
                    rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.

尝试了包清理和上面消息中提到的所有其他方法,但仍然无法安装,所以我想从 PECL 库中安装它,然后继续为 PHP5.3 安装 PEAR

yum install php53-pear

我收到错误

No package php53-pear available.
Nothing to do

所以我尝试了(做蠢事!)

yum install php-pear 

并成功安装。然后

pecl install memcached

并且在运行 /var/tmp/pear-build-root/memcached-2.1.0 时出现以下错误: /tmp/tmpCW9TMv/memcached-2.1.0/configure 检查 egrep... grep -E 检查不截断输出的 sed... /bin/sed 检查 cc... 否 检查 gcc... 否 configure:错误:在 $PATH 中未找到可接受的 C 编译器 请参阅config.log' for more details. ERROR:/tmp/tmpCW9TMv/memcached-2.1.0/configure' 失败

我有点困惑。有没有办法在 Centos 5.8 上安装 PEAR for PHP5.3 并同时安装 memcached。

答案1

看来您有 2 个版本的 php:5.1.6 和 5.3.3

Processing Conflict: php53-common conflicts php-common

我建议添加 ius 社区仓库并从中安装所有必要的软件包。在我看来,在基于 RHEL 的系统上从源代码安装不是一个好主意

# rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.noarch.rpm    
# rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-11.ius.el5.noarch.rpm
# yum install php53u-pear php53u-pecl-memcached

答案2

你缺少编译器(可能还有 php 头文件)。尝试

yum install gcc php53-devel

首先。然后

pecl install memcached

再次。

答案3

这里您的问题是 PHP 5.3.3 公共文件和 PHP 5.1.6 文件之间的冲突,yum 在这里告诉您这一点:

php53-common-5.3.3-13.el5_9.1.i386 from installed has depsolving problems
--> php53-common conflicts with php-common
Error: php53-common conflicts with php-common

要解决这个问题,只需删除 php-common,然后再次运行原来的 yum 命令。

yum remove php-common
yum install php-pecl-memcached

除非您有特殊要求,否则我建议坚持使用这些文件的打包版本,而不是从源代码进行编译。

编辑:您可能需要清除所有 php 包并重新开始:

rpm -qa | grep php | xargs rpm -e 

相关内容