Php

無法在 Centos7 上安裝 freetds php-mssql

  • January 28, 2015

我束手無策… Linux新手…請幫助我…

目標是使用 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

我一直試圖解決這個問題 4 天,我非常沮喪。任何幫助將不勝感激。提前致謝。

您為 EL6 安裝了 EPEL 儲存庫,但您正在執行 EL7。刪除它並使用正確的 EPEL 版本重試。

引用自:https://serverfault.com/questions/662903