如何通过PHP和Linux使用pdo连接到mssql?
我正在尝试使用以下代码创建一个新的PDO连接如何通过PHP和Linux使用pdo连接到mssql?,php,sql-server,database,connection,pdo,Php,Sql Server,Database,Connection,Pdo,我正在尝试使用以下代码创建一个新的PDO连接 new PDO("mssql:driver=????;Server={$serverName};Database={$databaseName}", $username, $password, array(PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 我不知道该用什么驱动程序?或者如何安装它们。我可以使用PHP中的mssql\u
new PDO("mssql:driver=????;Server={$serverName};Database={$databaseName}", $username, $password, array(PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
我不知道该用什么驱动程序?或者如何安装它们。我可以使用PHP中的mssql\u connect
函数进行完美的连接,但我想改用PDO库
mssql的Myphp.ini
设置为:
ssql
MSSQL Support enabled
Active Persistent Links 0
Active Links 1
Library version FreeTDS
Directive Local Value Master Value
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 Unlimited Unlimited
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection Off Off
mssql.textlimit Server default Server default
mssql.textsize Server default Server default
mssql.timeout 60 60
试一试
或
PDO mssql驱动程序不再可用,请使用
sqlsrv
(在php windows下)或dblib
(在php linux下)
我正在运行Ubuntu 14.04。尝试连接到MSSQL时,我收到“未捕获的异常‘PDOException’,并显示消息‘找不到驱动程序’”。我似乎错过了dblib/sybase PHP扩展 我必须跑:
sudo apt-get install php5-sybase freetds-common libsybdb5 \
&& sudo apache2ctl restart
现在一切正常 卡尔·威尔伯(Karl Wilbur)发布的dblib/sybase PHP扩展技巧对我很有用。 LimeSurvey的安装前检查页面现在显示 PHP PDO驱动程序库-Microsoft SQL Server(dblib),MySQL 只需确保找到并安装与您使用的PHP版本一致的版本
Prompt>sudo-apt-get-install-php-sybase-freetds-common-libsybdb5
提示符>sudo apache2ctl重新启动
干杯,我得到的错误消息是未捕获的异常“PDOException”,带有消息“找不到驱动程序”,使用dblib仍然会产生缺少驱动程序错误。“未捕获的异常‘PDOException’,消息为‘找不到驱动程序’”。我觉得奇怪的是mssql_connect工作得很好,但我必须做些什么才能让PDO端正常工作。我对linux不是很熟悉,这意味着我不确定是否能找到需要的驱动程序?您需要在php.ini中启用pdo_dblib.so并在linux下设置FreeTDS。如何在configure中启用pdo_dblib?此外,我正在使用centos 5 32位,我将如何设置它?pdo_dblib不再适用于PHP5.4+。。。我找不到一个合适的解决方案来解决这个问题。@James这个PHP是不推荐使用的还是使用它没有问题?PHP sybase包为我解决了这个问题。我不需要安装其他的。
$hostname.','.$port;
sudo apt-get install php5-sybase freetds-common libsybdb5 \
&& sudo apache2ctl restart