提问人:user3521590 提问时间:7/10/2020 更新时间:7/10/2020 访问量:3029
在 Ubuntu/NGINX 上的多个 PHP 版本上添加 SQLSRV 扩展
Add SQLSRV extension on multiple PHP versions on Ubuntu/NGINX
问:
我设置了一台服务器,安装并运行了以下内容:
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
在尝试为 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
所有命令均已成功运行。然后,我将以下行添加到相关的php.ini文件/etc/php/5.6 / fpm/php.ini
extension=sqlsrv.so
extension=pdo_sqlsrv.so
我重新加载并重新启动了php5.6-fpm,然后重新启动了NGINX。PHP 5.6 已成功安装,我可以通过运行 phpinfo() 查看信息。我在安装过程中没有出现任何错误。但是,在 PDO 下,PDO 驱动程序没有显示任何值。我还确认sqlsrv_connect不被承认。
我知道最好不要有多个版本的 PHP 或在不同的时间安装它们,但我在这个项目上别无选择。我是否需要在包装盒上安装单独版本的 sqlsrv 和 pdo_sqlsrv,或者我只是在安装中缺少某些内容?
答: 暂无答案
评论