Search code examples
phplinuxcentos6.5

Install PHP On CentOS Issues


I'm having issues installing PHP on Centos using yum install php

Could someone help me get it working if possible?

Here's what it's saying:

login as: root
root@****************'s password:
Last login: Wed Jan 14 06:21:17 2015 from **************
[root@linuxvps ~]# yum install php
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.coreix.net
 * extras: centos.serverspace.co.uk
 * updates: centos.hyve.com
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package php.x86_64 0:5.3.3-40.el6_6 will be installed
--> Processing Dependency: php-cli(x86-64) = 5.3.3-40.el6_6 for package: php-5.3.3-40.el6_6.x86_64
--> Finished Dependency Resolution
Error: Package: php-5.3.3-40.el6_6.x86_64 (updates)
           Requires: php-cli(x86-64) = 5.3.3-40.el6_6
           Installed: php-cli-5.4.36-1.el6.remi.x86_64 (@remi)
               php-cli(x86-64) = 5.4.36-1.el6.remi
           Available: php-cli-5.3.3-38.el6.x86_64 (base)
               php-cli(x86-64) = 5.3.3-38.el6
           Available: php-cli-5.3.3-40.el6_6.x86_64 (updates)
               php-cli(x86-64) = 5.3.3-40.el6_6
 You could try using --skip-broken to work around the problem
** Found 13 pre-existing rpmdb problem(s), 'yum check' output follows:
mysql-5.5.41-1.el6.remi.x86_64 has missing requires of real-mysql-libs(x86-64) = ('0', '5.5.41', '1.el6.remi')
mysql-server-5.1.73-3.el6_5.x86_64 has missing requires of mysql = ('0', '5.1.73', '3.el6_5')
php-bcmath-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
php-cli-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
php-gd-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
php-mbstring-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
php-mcrypt-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
php-mysql-5.4.36-1.el6.remi.x86_64 has missing requires of libmysqlclient.so.18()(64bit)
php-mysql-5.4.36-1.el6.remi.x86_64 has missing requires of libmysqlclient.so.18(libmysqlclient_16)(64bit)
php-mysql-5.4.36-1.el6.remi.x86_64 has missing requires of libmysqlclient.so.18(libmysqlclient_18)(64bit)
php-pdo-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
php-tidy-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
php-xml-5.4.36-1.el6.remi.x86_64 has missing requires of php-common(x86-64) = ('0', '5.4.36', '1.el6.remi')
[root@linuxvps ~]#

Solution

  • php is a meta package. It installs all needed php packages, like php-common, php-cli, php-mysql and so on. But you added the remi repository to your centos (usually to install a higher php version than your centos provides), and remi does not provide this php meta package.

    So when you try to install php, your centos tries to install the original packages, which interfere with the remi ones you already installed.

    Solution: Dont install the php meta package, install the remi single packages. Since they are already installed, i dont know what you even try to do, because you have php already installed.

    OR

    Remove remi repository and do a yum update.