【发布时间】:2017-09-15 08:29:02
【问题描述】:
我试图用 PHP 连接到 SQL Server。在我的本地机器上使用 XAMPP,一切正常。但现在我要把我的应用程序带到生产服务器上。
在此服务器上安装了Microsoft IIS 6.1 并运行PHP 版本7.0.7。我还从here 安装了 ODBC 驱动程序。接下来我在我的 php.ini 文件中删除以下行:
extension=php_sqlsrv_7_nts.dll
extension=php_pdo_sqlsrv_7_nts.dll
我从official microsoft site获得了文件。
我有什么问题?
不幸的是,在我重新启动 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;
}
我还能做什么?
【问题讨论】:
-
你的服务器有 Microsoft Visual C++ 2015 Redistributable 吗?
-
@Eimsas 是的。它有。
-
然后尝试检查日志,它应该有比“找不到驱动程序”更多的信息。我在 WAMP 上遇到了同样的问题,但是我刚刚安装了 MS c++ 并尝试了几个版本的 php_sqlsrv。至少在 wamp 中也需要重新启动。
标签: php sql-server sql-server-2008 pdo