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,或者我只是在安装中遗漏了某些内容?
| 归档时间: |
|
| 查看次数: |
3179 次 |
| 最近记录: |