我正在尝试使用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服务器。
答案 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
步骤如下:
经过长时间的研究,我有 找到了解决方案:
- 从任何来源下载unixODBC> = 2.3.1,如rpm(Example source)
- 从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 在我的情况下)
- 通过ftp(如FileZilla)将文件传输到EC2实例
- 使用EC2终端并转到上传文件的目录
- 输入
sudo rpm -i unixODBC-2.3.1-11.el7.x86_64.rpm
以安装必要的版本(也许,您必须将版本号更改为 上传文件的版本号)- 输入
sudo rpm -i msodbcsql17-17.1.0.1-1.x86_64.rpm
输入
sudo rpm -i mssql-tools-17.1.0.1-1.x86_64.rpm
按照Microsoft指令的其余部分进行操作,例如您的问题。
- 现在你应该能够在python中使用ODBC作为pyodbc。
醇>