php - 无法加载 Mac M1 SQL Server SQLSrv OpenSSL 库,请确保已安装 OpenSSL 1.0 或 1.1

标签 php macos openssl apple-m1 sqlsrv

我刚买了一台运行 Big Sur 11.6 的 M1 Mac mini,我已经安装了 PHP 7.3、msodbcsql17、mssql-tools、sqlsrv 和 pdo_sqlsrv。

但是当我尝试使用 sqlsrv 连接时,发生以下错误 [Microsoft][SQL Server 的 ODBC 驱动程序 17]SSL 提供程序:[无法加载 OpenSSL 库,确保安装了 OpenSSL 1.0 或 1.1]

我已经通过 brew 安装了 openssl@1.1,我的配置文件包含

export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"

看起来 PHP 使用了正确的版本,当打印 echo OPENSSL_VERSION_TEXT 时,它说 OpenSSL 1.1.1l 24 Aug 2021

我不确定要尝试其他什么才能让它发挥作用?

最佳答案

对于 M1 Mac,brew install 的默认位置是 /opt/homebrew,而不是 /usr/local。请引用这个link .因此,您需要添加/更改的符号链接(symbolic link)是:

ln -sfn/opt/homebrew/Cellar/openssl@1.1/1.1.1m/opt/homebrew/opt/openssl

在强制替换链接时使用选项 -f,而使用 -n 作为源链接是一个目录。当然,如果你的openssl不是1.1.1m,请更改版本。

关于php - 无法加载 Mac M1 SQL Server SQLSrv OpenSSL 库,请确保已安装 OpenSSL 1.0 或 1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69377717/

相关文章:

php - 良好的电子邮件链接保护方法

php - 如何在 SQL 查询中使用 session 变量?

python - 在 mac osx lion 中安装 MatplotLib

azure - 通过 Azure 设置 SSL 证书后运行本地主机的问题

ios - 以编程方式在 iOS App 中生成 SSL 证书

ios - OpenSSL 从控制台命令到函数

php - 将 foreach 语句转换为 PHP 中的 for 循环

php - 如何使用 node_save 创建节点?

xcode - 在 Xcode 中,项目导航器中的过滤器框有热键吗?

macos - 如何在同一个 Mac 窗口中显示一个新的 View Controller ?