2

我正计划继续使用 Centos 8,但似乎我无法仅使用普通的 Centos 8 包获得与 SQL 服务器的有效 PDO 连接。

我已经安装了 unixODBC 包,然后从 PECL sqlsrv 和 sqlsrv_pdo 安装,但我不知道如何进行实际连接或 odbc 配置。

由于我要转移到新环境的大部分代码都是使用 PDO 编写的,因此我不想将其更改为 sql server native。

是否有任何分步说明如何在不使用 freetds 的情况下建立到 sql server 的 PDO ODBC 连接,这在 centos 存储库(或 RHEL 中也没有)可用。

4

1 回答 1

5

我遇到了同样的问题,我解决了如下:

sudo dnf install php-pear
sudo dnf install php-devel
sudo dnf install make
sudo pecl install sqlsrv
sudo dnf install unixODBC-devel
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

然后:

sudo nano /etc/php.d/30-pdo_sqlsrv.ini

添加文件 30-pdo_sqlsrv.ini:

extension=pdo_sqlsrv.so

然后:

sudo nano /etc/php.d/20-sqlsrv.ini

在文件 20-sqlsrv.ini 中添加:

extension=sqlsrv.so

从https://packages.microsoft.com/rhel/8/prod/下载并安装 msodbcsql17-17.4.2.1-1.x86_64.rpm

sudo yum install msodbcsql17-17.4.2.1-1.x86_64.rpm

然后只需要重启php-fpm

sudo systemctl restart php-fpm.service

祝你好运!

于 2019-10-12T04:29:19.163 回答