首页 > 解决方案 > 与 SQL Server 2008 的 PHP 连接

问题描述

我需要从 PHP 连接到 SQL Server 2008 实例。网络服务器是 Centos 8 上的 Apache 2.4,带有 PHP 7.4、php-sqlsrv 扩展,我使用 PDO 来处理连接。首先我从cli测试了连接,我得到了以下错误:

连接失败:SQLSTATE[08001]:[Microsoft][ODBC Driver 17 for SQL Server]SSL 提供程序:[错误:1425F102:SSL 例程:ssl_choose_client_version:不支持的协议]

一点点谷歌搜索把我带到了 openssl.cnf 的方向,在那里我将最低版本设置为 TLS 1.0(我知道它不安全,但它似乎正在工作),然后连接工作,但仅在 cli 中,当我从网站上尝试过,它仍然给出同样的错误。

我用于连接的代码是这样的(我更改了连接数据):

try {
    $conn = new PDO("sqlsrv:Server=database.local,1433;Database=database", "user", "password");
}
catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

你能帮我弄清楚我错过了什么吗?

谢谢

标签: phpsql-serversqlsrv

解决方案


update-crypto-policies --set LEGACY

推荐阅读