Php – Can’t Install freetds php-mssql on Centos7

centos7freetdsPHPsql server

I am at my wits end… Newbie to Linux… please help me…

Goal is to connect to MS SQL Server 2005 using PHP. I have installed PHP and ODBC. I am running CentOS7.

PHP Version => 5.4.16

…. (from php -i) ….

odbc

ODBC Support => enabled

I am running into 2 dependency issues when trying to install freetds and php-mssql extension. (see below)

[root@localhost freetds-dev.0.92.377]# yum install php-mssql freetds
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.supremebytes.com
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: mirrors.cat.pdx.edu
 * rpmforge: mirror.hmc.edu
 * updates: ftp.osuosl.org
Resolving Dependencies
--> Running transaction check
---> Package freetds.x86_64 0:0.91-2.el6 will be installed
--> Processing Dependency: libgnutls.so.26(GNUTLS_1_4)(64bit) for package: freetds-0.91-2.el6.x86_64
--> Processing Dependency: libgnutls.so.26()(64bit) for package: freetds-0.91-2.el6.x86_64
---> Package php-mssql.x86_64 0:5.3.3-3.el6 will be installed
--> Processing Dependency: php(zend-abi) = 20090626 for package: php-mssql-5.3.3-3.el6.x86_64
--> Processing Dependency: php(api) = 20090626 for package: php-mssql-5.3.3-3.el6.x86_64
--> Finished Dependency Resolution
Error: Package: freetds-0.91-2.el6.x86_64 (epel)
           Requires: libgnutls.so.26()(64bit)
Error: Package: php-mssql-5.3.3-3.el6.x86_64 (epel)
           Requires: php(api) = 20090626
           Installed: php-common-5.4.16-23.el7_0.3.x86_64 (@updates)
               php(api) = 20100412-64
           Available: php-common-5.4.16-21.el7.x86_64 (base)
               php(api) = 20100412-64
           Available: php-common-5.4.16-23.el7_0.x86_64 (updates)
               php(api) = 20100412-64
           Available: php-common-5.4.16-23.el7_0.1.x86_64 (updates)
               php(api) = 20100412-64
Error: Package: freetds-0.91-2.el6.x86_64 (epel)
           Requires: libgnutls.so.26(GNUTLS_1_4)(64bit)
Error: Package: php-mssql-5.3.3-3.el6.x86_64 (epel)
           Requires: php(zend-abi) = 20090626
           Installed: php-common-5.4.16-23.el7_0.3.x86_64 (@updates)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.16-21.el7.x86_64 (base)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.16-23.el7_0.x86_64 (updates)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.16-23.el7_0.1.x86_64 (updates)
               php(zend-abi) = 20100525-64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

I have libgnutls.so version 28 though

/usr/lib64/libgnutls.so.28
/usr/lib64/libgnutls.so.28.20.4

I have been trying to figure this out for 4 days and I am very frustrated. Any help would be super appreciated. Thanks in advance.

Best Answer

You installed the EPEL repository for EL6, but you are running EL7. Remove it and try again with the correct EPEL version.