在Linux上运行PHP(Laravel)的Azure Web应用程序无法连接到SQL Server

时间:2019-06-13 08:53:23

标签: php sql-server laravel odbc

我在azure上有一个php Web应用程序和一个SQL Server。我正在运行Laravel并尝试连接到SQL Server,但出现错误:

This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL Server. Access the following URL to download the ODBC Driver for SQL Server for x64

如果我安装ODBC驱动程序,那么它可以工作,但显然不是一个选择,因为当服务重新启动时,我每次都需要重新安装它。那么,有解决方案吗?我是说我已经看到不可能,仅在VM中,但这是否意味着我们在Azure Web应用程序上无法安装PHP + SQL Server?

1 个答案:

答案 0 :(得分:0)

每当docker映像重新启动时,ODBC驱动程序就会消失,因此我们需要使用启动脚本进行安装。 如果要将azure Web应用程序php连接到SQL Server,请设置环境变量,然后:

  1. 通过Web SSH连接到您的Azure Web应用
  2. 运行以下命令检查linux版本:cat / etc / os-release
  3. 使用wget从此处下载正确的ODBC驱动程序:https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017
  4. 确保ODBC驱动程序在Azure Web App的主文件夹中(这样就可以持久保存)
  5. 使用以下命令在主文件夹中创建startup.sh文件:

    ACCEPT_EULA = Y易于安装-y / home /

    apache2ctl -D FOREGROUND

  6. 转到您的Azure Web应用程序配置页面,然后单击“常规设置”

  7. 在启动命令下,使用“ /home/startup.sh”

现在,每次重新加载Docker Image时,它将安装缺少的ODBC驱动程序。