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

ric*_*hie 25 php database sql-server connection pdo

我正在尝试使用以下代码进行新的PDO连接.

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

我不确定要使用哪些驱动程序?或者如何安装它们.我可以使用PHP中的mssql_connect函数完美地连接,但我想要使用PDO库.

如果您有关于如何解决我的问题或如何更好地提出问题的想法,请告诉我们?

我对mssql的php.ini设置是:

ssql

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

指令本地值主值
mssql.allow_persistent On On
mssql.batchsize 0 0
mssql.charset no value no value
mssql.compatability_mode Off Off
mssql.connect_timeout 5 5
mssql.datetimeconvert On On
mssql.max_links Unlimited Unlimited
mssql.max_persistent Unlimited Unlimited
mssql.max_procs无限制无限制
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection关闭关闭
mssql.textlimit服务器默认服务器默认值
mssql.textsize服务器默认服务器默认值
mssql.timeout 60 60

谢谢

Jam*_*mes 31

PDO mssql驱动程序不再使用sqlsrv(在php windows下)或dblib(在php linux下)

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

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

  • 您需要在php.ini中启用pdo_dblib.so并在Linux下设置FreeTDS. (2认同)

Kar*_*bur 5

我正在运行 Ubuntu 14.04。尝试连接到 MSSQL 时,我收到“未捕获的异常 'PDOException',消息为 '找不到驱动程序'”。似乎我缺少 dblib/sybase PHP 扩展。

我不得不跑:

sudo apt-get install php5-sybase freetds-common libsybdb5 \ 
&& sudo apache2ctl restart
Run Code Online (Sandbox Code Playgroud)

现在工作正常。