Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过PHP和Linux使用pdo连接到mssql?_Php_Sql Server_Database_Connection_Pdo - Fatal编程技术网

如何通过PHP和Linux使用pdo连接到mssql?

如何通过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

我正在尝试使用以下代码创建一个新的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 connect
函数进行完美的连接,但我想改用PDO库

mssql的My
php.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