Centos7에 php-mssql 또는 freetds를 설치할 수 없습니다

Centos7에 php-mssql 또는 freetds를 설치할 수 없습니다

내 목표는 PHP를 사용하여 MS SQL Server 2005에 연결하는 것입니다. PHP와 ODBC를 설치했습니다. CentOS7을 실행 중입니다.

PHP Version => 5.4.16

.... (php -i에서) ....

odbc

ODBC Support => enabled

freetds 및 php-mssql 확장을 설치하려고 할 때 2가지 종속성 문제가 발생합니다. (아래 참조)

[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

그래도 libgnutls.so 버전 28이 있습니다.

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

답변1

설치하려는 패키지 el6의 버전이 7이 아닌 CentOS 6용임을 나타냅니다. 잘못된 버전의 CentOS용 EPEL 저장소를 추가한 것으로 보입니다. yumEPEL6에 대한 구성을 제거하고 7에 대한 구성을 추가 해야 합니다 . 다음을 사용하여 7에 대한 구성을 추가할 수 있습니다.

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

답변2

나는 같은 문제로 어려움을 겪고 있으며 OS 7을 사용하고 있다는 것을 알고 있습니다.

freetds를 별도로 설치해야 하나요?

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

관련 정보