Error: CentOS 5.6 - php53-common conflicts with php-common
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