PHP-MSSQL oder Freetds können auf Centos7 nicht installiert werden

PHP-MSSQL oder Freetds können auf Centos7 nicht installiert werden

Mein Ziel ist es, über PHP eine Verbindung zu MS SQL Server 2005 herzustellen. Ich habe PHP und ODBC installiert. Ich verwende CentOS7.

PHP Version => 5.4.16

.... (von php -i) ....

odbc

ODBC Support => enabled

Beim Versuch, die Freetds- und PHP-MSSQL-Erweiterung zu installieren, treten bei mir zwei Abhängigkeitsprobleme auf. (siehe unten)

[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

Ich habe jedoch libgnutls.so Version 28

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

Antwort1

Das Paket, das Sie installieren möchten, hat el6die Versionsangabe, die darauf hinweist, dass es für CentOS 6 und nicht für 7 ist. Es scheint, dass Sie das EPEL-Repository für die falsche CentOS-Version hinzugefügt haben. Sie sollten die yumKonfiguration für EPEL6 entfernen und die Konfiguration für 7 hinzufügen. Sie können die Konfiguration für 7 folgendermaßen hinzufügen:

rpm -Uvh http://mirror.oss.ou.edu/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

Antwort2

Ich kämpfe mit demselben Problem und weiß, dass ich OS 7 verwende.

Soll ich versuchen, Freetds separat zu installieren?

Red Hat Enterprise Linux Server release 7.3 (Maipo)

Installed:
  epel-release.noarch 0:7-9

Error: Package: freetds-0.91-2.el6.x86_64 (epel)
           Requires: libgnutls.so.26(GNUTLS_1_4)(64bit)

/usr/lib64/.libgnutls.so.28.41.16.hmac
/usr/lib64/.libgnutls.so.28.hmac
/usr/lib64/libgnutls.so.28
/usr/lib64/libgnutls.so.28.41.16

verwandte Informationen