我通过PHP PDO与MSSQL服务器建立了工作连接。
$mssql = new PDO('dblib:host=1.2.3.4;dbname=databasename', 'username', 'password');
我现在需要这个连接是安全的,通过SSL发送所有事务。在DBLIB驱动程序的PHP手册中,我没有看到任何对安全连接的引用。
有人能提供一些关于我如何通过SSL启用此连接的见解吗?(如果需要,我可以在两台服务器上导出和导入证书。)
编辑:我使用的是PHP 5.5.9。
不确定您的服务器设置,但"官方"方法是使用Microsoft的驱动程序。不幸的是,它们只适用于WindowsPHP服务器的SSL。以下是连接选项。
如果您在Linux上,有一个选项可以使用SSL,但它不受MS的官方支持。
我知道6年后发布这个有点晚了,但目前我使用带有mssql的PDO获得了这个解决方案。然而,我在MSSQL中使用ODBC,这就是我所做的,让PDO作为localhost 与XAMPP一起工作
显然,odbc&mssql不需要像这样复杂的
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
只是简单的
$conn = new PDO ("odbc:$dbname", $username, $password);
这是我的sysyem的工作代码
$dbname = "Form_Database";
$username = "";
$password = "";
try{
$conn = new PDO ("odbc:$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("<--SQL QUERY-->");
$stmt -> execute();
$result = $stmt -> setFetchMode(PDO::FETCH_ASSOC);
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}