如何为亚马逊 Linux AMI 上的 SQL 服务器安装 PHP 的 Microsoft 驱动程序
How to install Microsoft Drivers for PHP for SQL Server on Amazon Linux AMI
我正在尝试使用 Microsoft 提供的文档为 SQL 服务器安装 PHP 的 Microsoft 驱动程序。 Link 是 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。但是亚马逊可用的 updated/latest unixODBC 包是 unixODBC-2.2.14。
我需要一些帮助来在 Amazon Linux 上安装 PHP 的 Microsoft 驱动程序,以便我可以使用 Sqlsrv PHP 函数进行连接SQL 服务器。
PHP7、Apache 和 SQL 服务器已经设置好。
在谷歌搜索和尝试所有方法后,我找到了我自己问题的答案。
而不是使用
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
问题已解决。
如果你对msodbcsql17感兴趣,可以关注这个回答:
Install unixODBC >= 2.3.1 on Linux Redhat/CentOS for msodbcsql17
步骤如下:
After a long time of research, I have
figured out a solution:
- Download the unixODBC >= 2.3.1 from any source, as rpm (Example source)
- Download the msodbcsql17 and mssql-tool as rpm from Microsoft (Link to Repo) (msodbcsql17-17.1.0.1-1.x86_64.rpm and
mssql-tools-17.1.0.1-1.x86_64.rpm in my case)
- Transfer the files via ftp (like FileZilla) to the EC2 instance
- Use EC2 terminal and go to the directory of the uploaded files
- Enter
sudo rpm -i unixODBC-2.3.1-11.el7.x86_64.rpm
to install the necessary version (Perhaps, you have to change the version number to
the version number of the uploaded file)
- Enter
sudo rpm -i msodbcsql17-17.1.0.1-1.x86_64.rpm
Enter sudo rpm -i mssql-tools-17.1.0.1-1.x86_64.rpm
Follow the rest of the Microsoft instruction, like in your question.
- Now you should be able to use ODBC for example with pyodbc in python.
我正在尝试使用 Microsoft 提供的文档为 SQL 服务器安装 PHP 的 Microsoft 驱动程序。 Link 是 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。但是亚马逊可用的 updated/latest unixODBC 包是 unixODBC-2.2.14。
我需要一些帮助来在 Amazon Linux 上安装 PHP 的 Microsoft 驱动程序,以便我可以使用 Sqlsrv PHP 函数进行连接SQL 服务器。
PHP7、Apache 和 SQL 服务器已经设置好。
在谷歌搜索和尝试所有方法后,我找到了我自己问题的答案。
而不是使用
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
问题已解决。
如果你对msodbcsql17感兴趣,可以关注这个回答:
Install unixODBC >= 2.3.1 on Linux Redhat/CentOS for msodbcsql17
步骤如下:
After a long time of research, I have figured out a solution:
- Download the unixODBC >= 2.3.1 from any source, as rpm (Example source)
- Download the msodbcsql17 and mssql-tool as rpm from Microsoft (Link to Repo) (msodbcsql17-17.1.0.1-1.x86_64.rpm and mssql-tools-17.1.0.1-1.x86_64.rpm in my case)
- Transfer the files via ftp (like FileZilla) to the EC2 instance
- Use EC2 terminal and go to the directory of the uploaded files
- Enter
sudo rpm -i unixODBC-2.3.1-11.el7.x86_64.rpm
to install the necessary version (Perhaps, you have to change the version number to the version number of the uploaded file)- Enter
sudo rpm -i msodbcsql17-17.1.0.1-1.x86_64.rpm
Enter
sudo rpm -i mssql-tools-17.1.0.1-1.x86_64.rpm
Follow the rest of the Microsoft instruction, like in your question.
- Now you should be able to use ODBC for example with pyodbc in python.