如何使用 PHP7 让 mssql_connect 工作?

How do I get mssql_connect to work using PHP7?

在使用 PHP7 将网络应用程序移植到服务器时,我遇到了一个问题:我无法让 mssql_connect 工作。我发现 mssql 在 PHP7.

上还不能工作(或永远不会工作)

在 Ubuntu(Nginx、php-fpm)上使用 PHP7 连接到 MSSQL 的最快方法是什么?

1.sudo apt-get更新安装php-sybase

2.

$dsn= 'dblib:host=youIP:1433;dbname=XXX;';
$dbusername="sa";
$dbpassword="XXXX";
try
{
    $mspdo = new PDO($dsn,$dbusername,$dbpassword);
    $mspdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $pe)
{
    die("database connect error:". $pe->getMessage());
}

连接功能不再mssql_connect()。自 php 5.3 以来,它已被弃用。现在 php 7 这个旧功能消失了。但别担心 ;) 现在您可以使用 sqlsrv_connect() 函数来代替。

请记住,在新方法中您需要正确设置参数。有一些差异。这里有一个小例子。

<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName, portNumber (1433 by default)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Successfuly connected.<br />";
}else{
     echo "Connection error.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

可能这个答案对你来说有点晚了,但我希望对某人来说还不算太晚。