我在Ubuntu 20.04上使用PHP Laravel 7.4,并试图从位于另一个云上的Windows服务器中的SQL服务器获取数据。
这个方法是在我的PC上测试(Windows),它成功地从Windows服务器(上面提到的),但在我的ubuntu服务器上,我遵循文件ubuntu 20.04 PHP 7.4 https://learn.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15
我得到这个错误:
SQLSTATE[08001]:[Microsoft][ODBC Driver 17 for SQL Server]TCP提供程序:错误代码0x 2746(SQL:myquery){“userId”:94,“exception”:“[object](Illuminate\Database\QueryException(code:08001):SQLSTATE[08001]:[Microsoft][ODBC Driver 17 for SQL Server]TCP提供程序:错误代码0x 2746(SQL:myquery)at /var/www/web-api/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669)
我检查了MicrosoftSQLServerManagementStudio中的日志,发现每次从Ubuntu发出请求时都会出现此消息
从远程客户端应用程序收到TLS 1.2连接请求,但服务器不支持客户端应用程序支持的任何密码套件。SSL连接请求失败。
3条答案
按热度按时间gwbalxhn1#
请尝试以下步骤:
1.安装sqsrv & pdo_sqlsrv扩展并重启apache
1.在config/database.phpsqlsrv数组中更新并注解下面提到的行
'port' =〉env('DB_PORT','1433'),
sqlsrv驱动程序的最终值如下所示:
1.在项目目录的命令行中点击这两个命令
lztngnrs2#
使用docker和
thecodingmachine/php
8.0,我通过使用www.example.com的配置编辑/etc/ssl/openssl.cnf
解决了这个问题https://github.com/microsoft/msphpsql/issues/1023#issuecomment-732947905frebpwbc3#
我想我在使用mssql和laravel时也遇到过类似的错误。我通过在机器上安装并启用mssql php扩展解决了这个问题。也许这会有帮助。