我正计划转向 Centos 8,但似乎我无法使用普通的 Centos 8 软件包与 SQL 服务器建立有效的 PDO 连接。
我已经安装了 unixODBC 包,然后从 PECL sqlsrv 和 sqlsrv_pdo 安装了包,但我不知道如何进行实际连接或 odbc 配置。
由于我要转移到新环境的大部分代码都是使用 PDO 编写的,所以我不想将其更改为 sql server native。
是否有任何分步说明如何在不使用 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
然后:
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
祝你好运!
关于pdo - Centos 8、PHP 7.2 和 MS SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58181436/