我正在IIS 10.0服务器上运行PHP 7.1,并尝试连接到MSSQL数据库。
尝试实例化这样的连接:
$dbh = new PDO("sqlsrv:Server=#server#;Database=#dbname#", "#username#", "#passwd#");
给我这个错误:
严重错误:未捕获PDOException:在C:\ inetpub \ wwwroot \ projects \ test.php:6中找不到驱动程序堆栈跟踪:#0 C:\ inetpub \ wwwroot \ projects \ test.php(6):PDO -> __ construct('sqlsrv:Server = ...','#username','#pwd ...')#1 {main}在第6行的C:\ inetpub \ wwwroot \ projects \ test.php中抛出< / p>
但是,sqlsrv
在我的php.ini
中已激活:
extension=php_sqlsrv.dll
extension=php_pdo_sqlsrv.dll
它没有注释,并且是正确的php.ini
(已经被phpinfo()
选中)。重新启动服务器也没有任何作用。
我真的不明白为什么明显安装了驱动程序时会发生这种情况:/
让我感到特别奇怪的是,我在同一台服务器上运行了另一个应用程序,该应用程序也连接到MSSQL数据库,并且没有问题,尽管它具有自动安装程序,所以我不必自己配置任何东西。它还连接到本地数据库,如果有区别,现在我正尝试连接到远程数据库。