在 Ubuntu/NGINX 上的多个 PHP 版本上添加 SQLSRV 扩展

use*_*590 5 php ubuntu pdo nginx sqlsrv

我设置了一台服务器,安装并运行了以下内容:

Ubuntu 20.04
NGINX 1.17.10
PHP 7.4.5

PHP 安装确实已安装 PDO SQLSRV 驱动程序并正常工作。

我需要将 PHP 5.6 添加到旧网站的同一服务器上。我能够成功安装 PHP 5.6。但我似乎无法正确安装 SQLSRV 驱动程序部分。

我之前在设置 PHP 7.4 时在服务器上安装了 mssql 工具:

apt-get install msodbcsql17 -y
apt-get install mssql-tools
 apt install unixodbc-dev
pecl install sqlsrv
pecl install pdo_sqlsrv
Run Code Online (Sandbox Code Playgroud)

在尝试将其设置为 5.6 时,我确实遵循了原始安装的步骤。我运行了以下命令:

 printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/5.6/mods-available/sqlsrv.ini
 printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/5.6/mods-available/pdo_sqlsrv.ini
 phpenmod -v 5.6 sqlsrv pdo_sqlsrv
 pecl config-set php_ini /etc/php/5.6/fpm/php.ini
 ls /etc/php/5.6/fpm/conf.d/*sqlsrv.ini
Run Code Online (Sandbox Code Playgroud)

所有命令均成功运行。然后我将以下行添加到相关的 php.ini 文件 /etc/php/5.6/fpm/php.ini

extension=sqlsrv.so
extension=pdo_sqlsrv.so
Run Code Online (Sandbox Code Playgroud)

我重新加载并重新启动 php5.6-fpm,然后重新启动 NGINX。PHP 5.6 已成功安装,我可以通过运行 phpinfo() 查看信息。我在安装过程中没有遇到任何错误。然而,在 PDO 下,PDO 驱动程序没有显示出任何价值。我还确认了 sqlsrv_connect 无法识别。

我知道最好不要有多个版本的 PHP 或在不同的时间安装它们,但我在这个项目上别无选择。我是否需要在盒子上安装单独版本的 sqlsrv 和 pdo_sqlsrv,或者我只是在安装中遗漏了某些内容?