更新适用于PHP的微软ODBC驱动(17至18)

评论 0 浏览 0 2023-01-05

如果你有使用微软数据库连接的应用程序,如SQL Server,你可能正在使用与ODBC驱动一起安装的 PHP 扩展pdo_sqlsrvsqlsrv,在Linux环境下,我们必须从ODBC v17更新到ODBC v18驱动,以确保较新版本的PHP的数据库连接。

在一个管理的服务器中,你可以向支持部门寻求帮助来更新驱动程序,或者如果你100%控制了服务器,你必须自己升级。无论哪种方式,升级都不是问题......当你检查应用程序时,你会看到每次使用微软SQL连接的数据库查询时都会出现错误。

[Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:self signed certificate]

上面是你会看到的错误,所以这里的问题是这个版本的变化需要每一个数据库连接都必须进行加密,如版本发布信息中所示。

幸运的是, 有一个快速解决这种情况的方法.在Laravel中, 你必须改变连接数组以确保加密是有效的. 要做到这一点, 必须到config文件夹中的database.php文件中添加这些两行(由注释标识)到[sqlsrv]连接中.

数据库.php

保存文件,清除 Laravel 中的配置缓存,一切现在应该可以工作了。

注意:这篇文章是针对Laravel的,但它也适用于其他的PHP开发,只要在你的数据库连接字符串中加入这两个参数,错误就会消失。

最后更新2023-05-01
0 个评论