且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

CentOS 5.6 - php53-common conflicts with php-common

更新时间:2022-09-16 13:50:24

You have PHP 5.1.6 installed on CentOS 5.6 and want to update to PHP 5.3 like this:

yum install php53 php53-cli php53-common php53-gd php53-imap php53-intl php53-mbstring php53-mysql php53-odbc php53-pdo php53-pspell php53-snmp php53-xml php53-xmlrpc

The update aborts with the following error:

[root@server1 ~]# yum install php53 php53-cli php53-common php53-gd php53-imap php53-intl php53-mbstring php53-mysql php53-odbc php53-pdo php53-pspell php53-snmp php53-xml php53-xmlrpc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.weepeetelecom.be
 * extras: centos.weepeetelecom.be
 * updates: ftp.belnet.be
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php53.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-cli.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-common.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-gd.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-imap.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: libc-client.so.1()(64bit) for package: php53-imap
---> Package php53-intl.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-mbstring.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-mysql.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-odbc.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-pdo.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-pspell.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-snmp.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: net-snmp for package: php53-snmp
---> Package php53-xml.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-xmlrpc.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Running transaction check
---> Package libc-client.x86_64 0:2004g-2.2.1 set to be updated
---> Package net-snmp.x86_64 1:5.3.2.2-9.el5_5.1 set to be updated
--> Processing Dependency: libsensors.so.3()(64bit) for package: net-snmp
--> Running transaction check
---> Package lm_sensors.x86_64 0:2.10.7-9.el5 set to be updated
--> Processing Conflict: php53-common conflicts php-common
--> Finished Dependency Resolution
php53-common-5.3.3-1.el5_6.1.x86_64 from updates 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.
[root@server1 ~]#

 

Solution

Enable the Epel and IUS repositories on your system.

For 64bit systems, you can find the correct packages here: http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/

For 32bit systems, the correct packages are here: http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/

After you have found out the correct links for the Epel and IUS rpm packages, you can install them like this:

rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-8.ius.el5.noarch.rpm

Then import the GPG keys for both repositories:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
rpm --import /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

Install the yum-plugin-replace package:.

yum install yum-plugin-replace

You can now replace your PHP 5.1.6 packages with the PHP 5.3 packages from IUS like this:

yum replace php --replace-with php53u

You can search for further php53u packages like this:

yum search php53u

If you find php53u packages that you'd also like to install, pick them from the search result list and install them as follows:

yum install php53u-pear php53u php53u-cli php53u-common php53u-devel php53u-gd php53u-mbstring php53u-mcrypt php53u-mysql php53u-pdo php53u-soap php53u-xml php53u-xmlrpc php53u-bcmath php53u-pecl-apc php53u-pecl-memcache php53u-snmp

Check your PHP version afterwards - it should display 5.3:

php -v

[root@server1 ~]# php -v
PHP 5.3.6 (cli) (built: Aug 11 2011 23:42:10)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
[root@server1 ~]#

Finally restart your web server. For Apache, this can be done as follows:

/etc/init.d/httpd restart