CentOS:已安装并配置 MS SQL 驱动程序,但 PHP 无法使用

CentOS:已安装并配置 MS SQL 驱动程序,但 PHP 无法使用

在运行 PHP 5.6 的 CentOS 7.3 机器上,我已经安装并配置了 PDO 的 MS SQL 驱动程序,但它不适用于 PHP。

查看驱动是否正确安装并配置:

$ yum list php56w-mssql
Installed Packages
php56w-mssql.x86_64            5.6.30-1.w7        @webtatic

$ cat /etc/php.d/mssql.ini
; Enable mssql extension module
extension=mssql.so

但是,PHP 无法识别它:

$ php -i | grep 'PDO drivers'
PDO drivers => dblib, mysql, sqlite

我该如何解决这个问题?

答案1

不幸的是,我无法让 MS SQL 扩展正常工作。然而,PHP 可以通过以下方式连接到 MS SQL数据库连接

$ yum list php56w-odbc
Installed Packages
php56w-odbc.x86_64    5.6.30-1.w7    @webtatic

$ cat /etc/php.d/odbc.ini 
extension=odbc.so

然后在 PHP 中:

$mssqldriver = 'ODBC Driver 13 for SQL Server';
$hostname='1.2.3.4';
$dbname='foobar';
$username='';
$password='';

$dsn = "odbc:Driver={$mssqldriver};Server={$hostname};Database={$dbname};MARS_Connection=yes";
$pdo= new PDO($dsn, $username, $password);

请务必指定MARS 连接,否则连接将仅限于单个待处理的请求。

相关内容