我通过PHP PDO与MSSQL服务器建立了连接。
$mssql = new PDO('dblib:host=1.2.3.4;dbname=databasename', 'username', 'password');
我现在需要这个连接是安全的,通过SSL发送所有交易。我没有看到any references to secure connections in the PHP manual的DBLIB驱动程序。
有人可以提供一些有关如何通过SSL启用此连接的见解吗? (如果需要,我可以在两台服务器上导出和导入证书。)
编辑:我在PHP 5.5.9上。
答案 0 :(得分:0)
您的服务器设置不确定,但“官方”方式是使用Microsoft的 drivers。不幸的是,它们仅适用于Windows PHP服务器的SSL。以下是 connection options。
如果您使用的是Linux,则有一个选项可以执行SSL,但它不是MS正式支持的。
答案 1 :(得分:0)
我知道在 6 年后发布它有点晚了,但目前我使用 PDO 和 mssql 获得了这个解决方案。但是,我将 ODBC 与 MSSQL 一起使用,这就是我将 PDO 与 XAMPP 作为本地主机一起使用的方法
显然,odbc&mssql 不需要这么复杂
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
但很简单
$conn = new PDO ("odbc:$dbname", $username, $password);
这是我系统的工作代码
$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();
}