使用pdo通过php和linux连接到mssql

我正在尝试使用下面的代码来build立一个新的PDO连接。

new PDO("mssql:driver=????;Server={$serverName};Database={$databaseName}", $username, $password, array(PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 

我不确定使用什么驱动程序? 或者如何安装它们。 我可以使用PHP中的mssql_connect函数完全正确地连接,但是我想要使用PDO库。

请让我知道,如果你有一个想法如何解决我的问题,或者我怎么能更好地提出我的问题?

我的php.ini设置为mssql是:

ssql

MSSQL支持启用
活动持久链接0
活动链接1
库版本FreeTDS

指令本地价值主值
mssql.allow_persistent On On
mssql.batchsize 0 0
mssql.charset没有值没有值
mssql.compatability_mode关关
mssql.connect_timeout 5 5
mssql.datetimeconvert打开
mssql.max_links无限制无限
mssql.max_persistent无限制无限制
mssql.max_procs无限制无限制
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connectionclosures
mssql.textlimit服务器默认服务器默认
mssql.textsize服务器默认服务器默认
mssql.timeout 60 60

谢谢

PDO的mssql驱动程序是没有更多,使用sqlsrv (在Windows下)或sqlsrv (在PHP的dblib下)

http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

http://www.php.net/manual/en/ref.pdo-dblib.php

我正在运行Ubuntu 14.04。 试图连接到MSSQL我得到了“未捕获的exception”PDOException“消息'找不到驱动程序'”。 看来我错过了dblib / sybase PHP扩展。

我必须运行:

 sudo apt-get install php5-sybase freetds-common libsybdb5 \ && sudo apache2ctl restart 

现在工作正常。

尝试

 $dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw"); $hostname may need to be configured as either... $hostname.':'.$port; 

要么

 $hostname.','.$port;