Sam*_*ems 5 php sql ubuntu ssl
我的意思是非常简单.我想通过安全连接从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.
Run Code Online (Sandbox Code Playgroud)
如果你想使用PDO,你可以设置PDO ODBC。您将需要设置配置文件/etc/odbc.ini
和/etc/odbcinst.ini
。/etc/freetds/freetds.conf
您还必须安装 unixodbc 和 freetds: apt-get install unixodbc tdsodbc
。
您可以在此处查看更多信息:通过 PDO ODBC 将 PHP 连接到 MSSQL
编辑:要在 ODBC 中强制执行 SSL,请添加Encrypt
关键字并将其在连接字符串中设置为 true。并将 SQL Server 设置为使用 SSL: https: //support.microsoft.com/en-us/kb/316898
编辑2:根据OP,按照以下规范添加encryption=require
和到 freetds.config: http://www.freetds.org/userguide/freetdsconf.htm以及上述步骤将解决问题check certificate hostname
归档时间: |
|
查看次数: |
2261 次 |
最近记录: |