找不到pdo driver odbc sqlsrv驱动程序

时间:2017-09-21 07:40:19

标签: php mysql pdo installation centos

$this->_connection = new PDO("odbc:Driver={SQL Server};Server=$serverName,1433; Database=".DB_NAME.";",DB_USER,DB_PASS);

这是我与数据库的连接。我使用命令php71-php-odbc.x86_64 0:7.1.9-1.el7.remi安装了yum --enablerepo=remi install php71-php-odbc,它已通过

确认安装
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : php71-runtime-1.0-1.el7.remi.x86_64                                                                                                                  1/5
  Installing : php71-php-common-7.1.9-1.el7.remi.x86_64                                                                                                             2/5
  Installing : php71-php-json-7.1.9-1.el7.remi.x86_64                                                                                                               3/5
  Installing : php71-php-pdo-7.1.9-1.el7.remi.x86_64                                                                                                                4/5
  Installing : php71-php-odbc-7.1.9-1.el7.remi.x86_64                                                                                                               5/5
  Verifying  : php71-php-json-7.1.9-1.el7.remi.x86_64                                                                                                               1/5
  Verifying  : php71-php-odbc-7.1.9-1.el7.remi.x86_64                                                                                                               2/5
  Verifying  : php71-php-common-7.1.9-1.el7.remi.x86_64                                                                                                             3/5
  Verifying  : php71-php-pdo-7.1.9-1.el7.remi.x86_64                                                                                                                4/5
  Verifying  : php71-runtime-1.0-1.el7.remi.x86_64                                                                                                                  5/5

Installed:
  php71-php-odbc.x86_64 0:7.1.9-1.el7.remi

Dependency Installed:
  php71-php-common.x86_64 0:7.1.9-1.el7.remi  
  php71-php-json.x86_64 0:7.1.9-1.el7.remi  
  php71-php-pdo.x86_64 0:7.1.9-1.el7.remi  
  php71-runtime.x86_64 0:1.0-1.el7.remi

在命令行中。我感到困惑的是print_r(PDO::getAvailableDrivers());的输出

Array
(
    [0] => mysql
    [1] => sqlite
)

我期待在结果中添加odbc。此外,如果我在命令中运行php -m,则命令中的模块列表中没有odbc。

安装上述连接所需的驱动程序的正确方法是什么。

Server runs centOS 7

Update

  

安装odbc驱动程序以消除错误捕获异常:找不到驱动程序

1 个答案:

答案 0 :(得分:0)

1 /你已经安装了php71这是一个SCL(并行安装),所以确保你使用正确的php命令

# /opt/remi/php72/root/usr/bin/php -r 'print_r(PDO::getAvailableDrivers());'
Array
(
    [0] => dblib
    [1] => firebird
    [2] => mysql
    [3] => oci
    [4] => odbc
    [5] => pgsql
    [6] => sqlite
    [7] => sqlsrv
)

2 /也许您需要一个PHP版本,请查看wizard instructions

3 /更多信息红色Microsoft SQL Server from PHP