如何在Amazon Linux AMI上为PHP for SQL Server安装Microsoft驱动程序

时间:2017-05-23 17:09:40

标签: php linux amazon-web-services unixodbc mssql-tools

我正在尝试使用Microsoft提供的文档为SQL Server安装Microsoft Drivers for PHP。链接是https://github.com/Microsoft/msphpsql

它提供了Ubuntu和Redhat的安装步骤,但没有为Amazon Linux提供安装步骤。要在Amazon上安装Microsoft驱动程序,我按照为Redhat提供的步骤(不确定它是否正确)。当我运行命令

sudo ACCEPT_EULA=Y yum install msodbcsql mssql-tools

得到以下错误

Error: Package: msodbcsql-13.1.7.0-1.x86_64 (packages-microsoft-com-prod)
           Requires: unixODBC >= 2.3.1
           Available: unixODBC-2.2.14-14.7.amzn1.i686 (amzn-main)
               unixODBC = 2.2.14-14.7.amzn1

错误清楚地表明要安装msodbcsql,unixODBC版本应该是> = 2.3.1。但是亚马逊的更新/最新unixODBC软件包是unixODBC-2.2.14。

我需要一些帮助才能在Amazon Linux上安装Microsoft Drivers for PHP,以便我可以使用 Sqlsrv PHP函数连接SQL服务器。

已经设置了PHP7,Apache和SQL服务器。

2 个答案:

答案 0 :(得分:5)

在谷歌搜索并尝试所有方法后,我找到了自己问题的答案。

而不是使用

sudo ACCEPT_EULA=Y yum install msodbcsql mssql-tools

我用过

sudo ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1

并且问题已解决。

答案 1 :(得分:0)

如果您对msodbcsql17感兴趣,可以按照以下答案:

Install unixODBC >= 2.3.1 on Linux Redhat/CentOS for msodbcsql17

步骤如下:

  

经过长时间的研究,我有   找到了解决方案:

     
      
  1. 从任何来源下载unixODBC> = 2.3.1,如rpm(Example source
  2.   
  3. 从Microsoft(Link to Repo)( msodbcsql17-17.1.0.1-1.x86_64.rpm )下载msodbcsql17和mssql-tool作为rpm    mssql-tools-17.1.0.1-1.x86_64.rpm 在我的情况下)
  4.   
  5. 通过ftp(如FileZilla)将文件传输到EC2实例
  6.   
  7. 使用EC2终端并转到上传文件的目录
  8.   
  9. 输入sudo rpm -i unixODBC-2.3.1-11.el7.x86_64.rpm以安装必要的版本(也许,您必须将版本号更改为   上传文件的版本号)
  10.   
  11. 输入sudo rpm -i msodbcsql17-17.1.0.1-1.x86_64.rpm
  12.   
  13. 输入sudo rpm -i mssql-tools-17.1.0.1-1.x86_64.rpm

  14.   
  15. 按照Microsoft指令的其余部分进行操作,例如您的问题。

  16.   
  17. 现在你应该能够在python中使用ODBC作为pyodbc。
  18.