【问题标题】:Centos 8, PHP 7.2 and MS Sql ServerCentos 8、PHP 7.2 和 MS Sql 服务器
【发布时间】:2019-10-01 09:02:54
【问题描述】:

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

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

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

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

【问题讨论】:

  • 能否请您更新一下您是如何解决这个问题的(假设皮埃尔的回答有效)?他列出了要安装的包和要编辑的 ini 文件,但没有列出如何在 php 中通过 PDO 查询使用这个环境。我对相同的环境有类似但不同的问题:stackoverflow.com/questions/67170980/…

标签: pdo centos php-7.2 unixodbc centos8


【解决方案1】:

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

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

祝你好运!

【讨论】:

  • 如果看到错误:sql.h 编译终止,请让 dnf install unixODBC-devel
  • 我无法与我的 SQL Server 建立有效连接。我已经按照你的答案在这里的所有内容。我还可以使用tsql 查询远程SQL Server。如何使用所有这些来形成有效的 PDO 连接? stackoverflow.com/questions/67170980/…
  • 我解决了这个问题,并在上​​面的链接中给出了如何在 PDO 中使用的示例,以防其他人像我一样被卡住。
猜你喜欢
  • 2015-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多