配置PHP 5.3以使用MS SQL Server


Configuring PHP 5.3 to work with MS SQL Server

我的任务是获取所有MySQL数据库并将它们迁移到SQL Server。在尝试让PHP 5.3.24与MSSQL一起工作时,我完成了以下操作:

将非线程安全驱动程序复制到/php/ext。

更新了我的php.ini文件,包括以下两行:

extension=php_pdo_sqlsrv_53_nts_vc9.dll;
extension=php_sqlsrv_53_nts_vc9.dll

已重新启动在Windows Server 2008 R2上运行的IIS 7。

phpinfo在Registered PHP Streams下显示sqlsrv,sqlsrv也显示在PDO驱动程序下,PDO_sqlsrv支持显示为"enabled"。然而,当我尝试通过应用程序连接时,我会得到以下信息:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:'inetpub'wwwroot'mystuff'myphpconnectfile.php

我的连接字符串如下:

$con = new PDO("mssql:host=xxx.xxx.xxx.xxx,1433;dbname=mydb", "user", "pwd");
$con -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return($con);

看起来它发现服务器还可以,但PHP/PDO mssql驱动程序不可以。我错过了什么?

EDIT:phpinfo下的Configure命令显示行"--without mssql"--within pdo-mssql"。我不知道该去哪里改变,也不知道是否有必要。

您使用的MSSQL DSN连接字符串无效。您需要使用此处的格式。

new PDO('sqlsrv:Server=xxx.xxx.xxx.xxx,1433;Database=mydb', 'user', 'pwd');