gpt4 book ai didi

PHP 使用 SSL 连接到 MS SQL

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:59 26 4
gpt4 key购买 nike

我要实现的意思很简单。我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库。然而,这已被证明是有问题的,到目前为止,我花了三个小时进行研究,我不知所措。

客户端的平台是Ubuntu,这意味着我不能使用SQLSRV。安全连接已经在不同的客户端上进行了测试,并且工作正常。我目前正在使用 PDO 和 DBlib 连接到数据库,这也工作正常。

我找不到任何方法来强制建立安全连接。我尝试了多个其他驱动程序,但无济于事。

我有哪些选择?

编辑:我留下了以下 FreeTDS 日志...

config.c:543:   Got a match.
config.c:565: host = 'XXXXXXXXXX'
config.c:595: Found host entry XXXXXXXXXX.
config.c:599: IP addr is XXXXXXXXXX.
config.c:565: port = '1433'
config.c:565: encryption = 'require'
config.c:565: check certificate hostname = 'no'
config.c:629: UNRECOGNIZED option 'check certificate hostname' ... ignoring.
config.c:565: ca file = 'XXXXXXXXXX.pem'
config.c:629: UNRECOGNIZED option 'ca file' ... ignoring.

最佳答案

如果你想使用PDO,你可以设置PDO ODBC。您将需要设置配置文件 /etc/odbc.ini/etc/odbcinst.ini/etc/freetds/freetds.conf.

您还必须安装 unixodbc 和 freetds:apt-get install unixodbc tdsodbc

您可以在此处查看更多信息:Connect PHP to MSSQL via PDO ODBC

编辑:要在 ODBC 中强制执行 SSL,请添加 Encrypt 关键字并在您的连接字符串中将其设置为 true。并设置您的 SQL Server 以使用 SSL:https://support.microsoft.com/en-us/kb/316898

编辑 2: 根据 OP,按照以下规范将 encryption=requirecheck certificate hostname 添加到 freetds.config: http://www.freetds.org/userguide/freetdsconf.htm连同上述步骤将解决问题

关于PHP 使用 SSL 连接到 MS SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34875958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com