我在 MacOS 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][ODBC Driver 17 for SQL Server]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。
最佳答案
已解决!!! 据报道:https://github.com/microsoft/homebrew-mssql-release/issues/37 .
在 /usr/local/opt
homebrew 创建了符号链接(symbolic link) <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="640b14010a17170824554a55" rel="noreferrer noopener nofollow">[email protected]</a>
.
该问题与 Microsoft 驱动程序无法读取 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="85eaf5ebe0f6f6e9c5b4abb4" rel="noreferrer noopener nofollow">[email protected]</a>
格式的目录有关。 .
解决方案非常简单,只需重新创建符号链接(symbolic link)并省略 @1.1
后缀:
ln -s /usr/local/Cellar/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96f9e6f3f8e5e5fad6a7b8a7" rel="noreferrer noopener nofollow">[email protected]</a>/1.1.1k /usr/local/opt/openssl
感谢大家的贡献!
关于PHP 7.0.33 与 sqlsrv 给出错误 "SSL Provider: [OpenSSL library could not be loaded, make sure OpenSSL 1.0 or 1.1 is installed]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67489771/