$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驱动程序以消除错误捕获异常:找不到驱动程序
答案 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