在Centos上安装PHP 5.3梨5.8

我刚刚创build了一个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库安装它,并继续安装PEAR的PHP5.3

 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 …没有configuration:错误:没有可接受的C编译器在$ PATH中find请参阅config.log' for more details. ERROR: config.log' for more details. ERROR: /tmp/tmpCW9TMv/memcached-2.1.0/configure失败

我有点惊讶。 有没有办法在Centos 5.8上安装PHP5.3的PEAR并安装memcached。

看来你有2版本的PHP:5.1.6和5.3.3

 Processing Conflict: php53-common conflicts php-common 

我会build议添加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 

你错过了一个编译器(也可能是PHP头)。 尝试

 yum install gcc php53-devel 

第一。 然后

 pecl install memcached 

再次。

这里的问题是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 

除非你有特定的要求,否则我会build议坚持这些文件的打包版本,而不是从源代码编译。

编辑:你可能想清除所有的PHP软件包,然后重新开始:

 rpm -qa | grep php | xargs rpm -e