提问人:Michael Irigoyen 提问时间:10/8/2014 最后编辑:DrewMichael Irigoyen 更新时间:5/17/2021 访问量:2905
通过PHP PDO通过SSL连接到MSSQL服务器
Connect to MSSQL server via PHP PDO over SSL
问:
我通过PHP PDO与MSSQL服务器建立了有效的连接。
$mssql = new PDO('dblib:host=1.2.3.4;dbname=databasename', 'username', 'password');
我现在需要这个连接是安全的,通过SSL发送所有交易。我在 DBLIB 驱动程序的 PHP 手册中没有看到任何对安全连接的引用。
有人可以提供一些关于如何通过SSL启用此连接的见解吗?(如果需要,我可以跨两台服务器导出和导入证书。
编辑:我在 PHP 5.5.9 上。
答:
0赞
Kyle Wiering
9/27/2015
#1
不确定您的服务器设置,但执行此操作的“官方”方法是使用 Microsoft 的驱动程序。不幸的是,它们仅适用于 Windows PHP 服务器的 SSL。以下是连接选项。
如果您使用的是 Linux,则有一个选项可以执行 SSL,但它不受官方 MS 支持。
0赞
Steve Kush
5/17/2021
#2
我知道在 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();
}
评论
sql-server