我试图连接到 PHP 中的 SQL Server。在我的本地机器上使用 XAMPP,一切正常。但现在我要把我的应用程序带到生产服务器上。
在此服务器上安装了 Microsoft IIS 6.1
并运行 PHP 版本 7.0.7
。我还从 这里 安装了 ODBC 驱动程序。接下来我在我的 php.ini 文件中取消注释以下行:
extension=php_sqlsrv_7_nts.dll
extension=php_pdo_sqlsrv_7_nts.dll
我从 微软官方网站 得到了这些文件。
我的问题是什么?
不幸的是,在我重新启动 IIS 之后。 PDO 函数抛出 PDOException 错误并显示以下消息:
could not find driver
对于连接,我使用以下函数,它在我的本地机器上运行良好:
try {
$con = new PDO("sqlsrv:Server=" . SERVER . ";Database=" . DATABASE, USERNAME, PASSWORD);
// set the PDO error mode to exception
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "No connection: " . $e->getMessage();
exit;
}
我还能做什么?
原文由 Julian Schmuckli 发布,翻译遵循 CC BY-SA 4.0 许可协议
在Windows Server上找到错误日志后,我自己解决了这个错误。
我的日志中出现此错误:
然后我再次下载了 驱动程序 并安装了 x64-Driver。最后它没有任何问题。