Symfony项目安装ODBC Driver 18 for SQL Server遇SSL报错求助
问题描述
在Symfony项目中安装ODBC Driver 18 for SQL Server时出现以下报错:
驱动程序发生异常: SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:16000069:STORE routines::unregistered scheme:scheme=file][error:80000002:system library::No such file or directory:calling stat(/usr/local/etc/openssl@3/certs)][error:16000069:STORE routines::unregistered scheme:scheme=file]
环境详情:
- Symfony版本: 5.4.16
- PHP版本: 8.1
- Homebrew版本: 3.6.16
- Apache版本: 2.4.54
解决方案
修复OpenSSL证书目录
- 查看Homebrew安装的OpenSSL@3路径信息:
brew info openssl@3 - 若
/usr/local/etc/openssl@3/certs目录不存在,创建该目录:sudo mkdir -p /usr/local/etc/openssl@3/certs - 将系统默认证书链接到该目录:
sudo ln -s /etc/ssl/certs/* /usr/local/etc/openssl@3/certs/
- 查看Homebrew安装的OpenSSL@3路径信息:
临时跳过SSL验证(仅适用于测试环境)
修改Symfony项目根目录下的.env文件,在数据库连接URL中添加TrustServerCertificate=Yes参数:DATABASE_URL="sqlsrv://用户名:密码@主机地址:端口/数据库名?TrustServerCertificate=Yes"配置OpenSSL环境变量
- 打开Apache的主配置文件(如
/usr/local/etc/httpd/httpd.conf)或对应虚拟主机配置文件,添加以下内容:SetEnv OPENSSL_CONF /usr/local/etc/openssl@3/openssl.cnf - 重启Apache服务:
brew services restart httpd
- 打开Apache的主配置文件(如
重新安装ODBC Driver 18
- 卸载现有驱动及工具:
brew uninstall msodbcsql18 mssql-tools18 - 重新安装驱动,确保依赖项正确配置:
brew install msodbcsql18 mssql-tools18
- 卸载现有驱动及工具:
内容的提问来源于stack exchange,提问作者Kram_Koorbse
相关产品推荐
相关产品推荐

