Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 SQLSRV连接“;获取数据库句柄失败:找不到驱动程序”;_Php_Sqlsrv - Fatal编程技术网

PHP SQLSRV连接“;获取数据库句柄失败:找不到驱动程序”;

PHP SQLSRV连接“;获取数据库句柄失败:找不到驱动程序”;,php,sqlsrv,Php,Sqlsrv,我正在使用以下代码: try { $hostname = "*****"; $port = 1443; $dbname = "*******"; $username = "********"; $pw = "************"; $dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw"); } catch (PDOException $e) {

我正在使用以下代码:

try {
    $hostname = "*****";
    $port = 1443;
    $dbname = "*******";
    $username = "********";
    $pw = "************";
    $dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
}
错误:

Failed to get DB handle: could not find driver
DLL文件已在php/ext中,并在php.ini中修改


我还能做什么?

从您正在使用的端口,很明显您正在尝试连接到MSSQL数据库

PHP文档指出,对于运行PHP5.3或更早版本的windows计算机,不建议使用PDO支持连接到SQLSRV

他们建议使用微软提供的sqlsrv驱动程序


指向sqlsrv驱动程序的链接位于上面的php链接中。

您尝试过mssql\u connect吗

以下是语法:mssql_connect([string$servername[,string$username[,string$password[,bool$new_link=false]]))

执行工作将是:

$link = mssql_connect($hostname, $username, $pw);
mssql_select_db($dbname, $link);

请注意,$hostname应该包含MSSQL实例名称。e、 g.“KALLESPC\SQLEXPRESS”无效。这应该是类似于mysql之类的东西——你必须告诉PDO你希望它连接到什么样的数据库,而不是它连接到“一个数据库”。它显然要连接到数据库,需要知道它应该说什么语言。“DLL文件”是一个相当模糊的描述。
dblib:
前缀假定为FreeTDS库,确实显示在phpinfo()中。您可以使用
newpdo(“mysql:…”)对于MySQL,
新的PDO(“pgsql:…”用于PostgreSQL或任何支持的其他类型。阅读PHP数据对象文档: