Pdo Centos 8、PHP7.2和MS Sql Server

Pdo Centos 8、PHP7.2和MS Sql Server,pdo,centos,php-7.2,unixodbc,centos8,Pdo,Centos,Php 7.2,Unixodbc,Centos8,我计划继续使用Centos 8,但似乎仅使用普通的Centos 8软件包无法获得与SQL server的PDO连接 我已经安装了unixODBC软件包,之后又从PECL-sqlsrv和sqlsrv_-pdo安装了unixODBC软件包,但我不知道如何进行实际的连接或odbc配置 由于要传输到新环境的大多数代码都是使用PDO编写的,因此我不想将其更改为sql server本机 有没有关于如何在不使用freetds的情况下构建到sql server的PDO ODBC连接的分步说明,这在centos存

我计划继续使用Centos 8,但似乎仅使用普通的Centos 8软件包无法获得与SQL server的PDO连接

我已经安装了unixODBC软件包,之后又从PECL-sqlsrv和sqlsrv_-pdo安装了unixODBC软件包,但我不知道如何进行实际的连接或odbc配置

由于要传输到新环境的大多数代码都是使用PDO编写的,因此我不想将其更改为sql server本机


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

我遇到了同样的问题,我解决了这个问题,如下所示:

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
然后:

在文件30-pdo_sqlsrv.ini中添加:

extension=pdo_sqlsrv.so
extension=sqlsrv.so
然后:

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

extension=pdo_sqlsrv.so
extension=sqlsrv.so
从下载并安装msodbcsql17-17.4.2.1-1.x86_64.rpm

然后只需要重新启动php fpm

sudo systemctl restart php-fpm.service

祝你好运

如果您看到一个错误:sql.h编译终止,请让dnf安装unixODBC-develI,因为我无法与我的sql Server建立工作连接。我已经听过你回答的所有内容了。我还可以使用
tsql
查询远程SQL Server。如何使用所有这些来形成一个工作PDO连接?我解决了这个问题,并在上面的链接中给出了如何在PDO中使用的示例,以防其他人像我一样陷入困境。您能否更新您解决这个问题的方法(假设Pierre的答案有效)?他列出了要安装的软件包和要编辑的ini文件,但没有列出如何在php中使用PDO查询环境。我对同一环境有一个类似但不同的问题:
sudo systemctl restart php-fpm.service