PHP 7.0.33 与 sqlsrv 给出错误 "SSL Provider: [OpenSSL library could not be loaded, make sure OpenSSL 1.0 or 1.1 is installed]"
PHP 7.0.33 with sqlsrv gives error "SSL Provider: [OpenSSL library could not be loaded, make sure OpenSSL 1.0 or 1.1 is installed]"
我在 PHP Catalina (10.15.7) 上使用带有 PHP 7.0.33、Apache 2.2.34 的 sqlsrv 模块。
本代码块sqlsrv_connect
的执行
$serverName = "192.168.4.14";
$connectionInfo = array(
"Database" => "mydatabase",
"UID" => "myusername",
"PWD" => "mypassword"
);
// Create connection
$conn = sqlsrv_connect($serverName, $connectionInfo);
给我错误
[Microsoft][SQL 服务器的 ODBC 驱动程序 17]SSL 提供程序:[无法加载 OpenSSL 库,确保安装了 OpenSSL 1.0 或 1.1]
我的 Mac 上安装了更多版本的 PHP,所以我认为这是错误的原因,但是打开 info.php 页面,它告诉我OpneSSL 模块已加载:
以下是 info.php 给出的关于 pdo_sqlsrv
模块的详细信息:
和sqlsrv
模块:
关于我还可以检查哪些内容以找到错误原因,您有什么建议吗?
提前谢谢大家。
编辑:info.php 告诉我在配置命令中使用了 --with-openssl=/Applications/MAMP/Library
,即 v1.0.2o。
问题似乎是您的机器上没有安装正确版本的 OpenSSL 库(似乎是 catalina 上的问题)。
第 1 步:检查您是否安装了正确的版本。
运行 以下命令(假设 macOS 的位置):ls -l /usr/local/opt/openssl/lib
如果这不起作用,运行以下命令:openssl version
这应该会显示您安装了哪些版本的 OpenSSL 库。
如果你有 1.0
或 1.1
你就完成了
第 2 步:安装或升级
如果您安装了 openssl(但不是正确的版本),请使用 brew upgrade openssl
升级它
如果您没有安装 openssl,请使用 brew install openssl
安装它
第 3 步测试
完成这些步骤后,应该可以解决此错误
已解决!!!!
如此处报道:https://github.com/microsoft/homebrew-mssql-release/issues/37.
在 /usr/local/opt
中,自制软件创建了符号链接 openssl@1.1
。
此问题与 Microsoft 驱动程序无法读取格式为 opnessl@1.1
的目录有关。
解决方案非常简单,只需重新创建符号链接即可省略 @1.1
后缀:
ln -s /usr/local/Cellar/openssl@1.1/1.1.1k /usr/local/opt/openssl
感谢大家的贡献!
我在 PHP Catalina (10.15.7) 上使用带有 PHP 7.0.33、Apache 2.2.34 的 sqlsrv 模块。
本代码块sqlsrv_connect
的执行
$serverName = "192.168.4.14";
$connectionInfo = array(
"Database" => "mydatabase",
"UID" => "myusername",
"PWD" => "mypassword"
);
// Create connection
$conn = sqlsrv_connect($serverName, $connectionInfo);
给我错误
[Microsoft][SQL 服务器的 ODBC 驱动程序 17]SSL 提供程序:[无法加载 OpenSSL 库,确保安装了 OpenSSL 1.0 或 1.1]
我的 Mac 上安装了更多版本的 PHP,所以我认为这是错误的原因,但是打开 info.php 页面,它告诉我OpneSSL 模块已加载:
以下是 info.php 给出的关于 pdo_sqlsrv
模块的详细信息:
和sqlsrv
模块:
关于我还可以检查哪些内容以找到错误原因,您有什么建议吗?
提前谢谢大家。
编辑:info.php 告诉我在配置命令中使用了 --with-openssl=/Applications/MAMP/Library
,即 v1.0.2o。
问题似乎是您的机器上没有安装正确版本的 OpenSSL 库(似乎是 catalina 上的问题)。
第 1 步:检查您是否安装了正确的版本。
运行 以下命令(假设 macOS 的位置):ls -l /usr/local/opt/openssl/lib
如果这不起作用,运行以下命令:openssl version
这应该会显示您安装了哪些版本的 OpenSSL 库。
如果你有 1.0
或 1.1
你就完成了
第 2 步:安装或升级
如果您安装了 openssl(但不是正确的版本),请使用 brew upgrade openssl
如果您没有安装 openssl,请使用 brew install openssl
第 3 步测试
完成这些步骤后,应该可以解决此错误
已解决!!!! 如此处报道:https://github.com/microsoft/homebrew-mssql-release/issues/37.
在 /usr/local/opt
中,自制软件创建了符号链接 openssl@1.1
。
此问题与 Microsoft 驱动程序无法读取格式为 opnessl@1.1
的目录有关。
解决方案非常简单,只需重新创建符号链接即可省略 @1.1
后缀:
ln -s /usr/local/Cellar/openssl@1.1/1.1.1k /usr/local/opt/openssl
感谢大家的贡献!