连接失败 - 使用 php 7.3 和 8.0 失败 - 尝试 wamp 和 xampp - 尝试访问 sqlserver 数据库
Posted
技术标签:
【中文标题】连接失败 - 使用 php 7.3 和 8.0 失败 - 尝试 wamp 和 xampp - 尝试访问 sqlserver 数据库【英文标题】:Connection Fail - fails with php 7.3 and 8.0 - tried wamp and xampp - attempting to access a sqlserver database 【发布时间】:2021-08-11 18:43:37 【问题描述】:这是整个错误:
连接失败
Array ( [0] => Array ( [0] => IM006 [SQLSTATE] => IM006 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed [message] => [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed ) [1] => Array ( [0] => 01000 [SQLSTATE] => 01000 [1] => 5701 [code] => 5701 [2] => [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Changed database context to 'sodb'. [message] => [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Changed database context to 'sodb'. ) [2] => Array ( [0] => 01000 [SQLSTATE] => 01000 [1] => 5703 [code] => 5703 [2] => [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Changed language setting to us_english. [message] => [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Changed language setting to us_english. ) )
我已经成功安装了以下扩展,它们显示在 phpinfo() 下
extension=php_sqlsrv_73_ts_x64.dll
extension=php_sqlsrv_73_nts_x64.dll
extension=php_pdo_sqlsrv_73_nts_x64.dll
extension=php_pdo_sqlsrv_73_ts_x64.dll
extension=php_sqlsrv_73_ts_x86.dll
extension=php_sqlsrv_73_nts_x86.dll
extension=php_pdo_sqlsrv_73_nts_x86.dll
extension=php_pdo_sqlsrv_73_ts_x86.dll
extension=php_sqlsrv_80_ts_x64.dll
extension=php_sqlsrv_80_nts_x64.dll
extension=php_pdo_sqlsrv_80_nts_x64.dll
extension=php_pdo_sqlsrv_80_ts_x64.dll
extension=php_sqlsrv_80_ts_x86.dll
extension=php_sqlsrv_80_nts_x86.dll
extension=php_pdo_sqlsrv_80_nts_x86.dll
extension=php_pdo_sqlsrv_80_ts_x86.dll
这是我抛出此错误的 php 代码:
$serverName = "***********************";
$connectionInfo = array( "Database"=>"*********", "UID"=>"*********", "PWD"=>"*************");
$maxret = 3;
$conn = false;
do
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn !== false) break;
sleep(2);
while($maxret-- >= 0);
我已经安装了 ODBC 相关的库
我在三台不同的机器上工作,它们具有不同的 IP 地址,都在 azure 防火墙上启用(sql 数据库在 azure 上)。在它工作的一台机器上,两台机器产生上述错误。
两台机器上的相同 php.ini 文件和 wamp 中列出的扩展名是相同的。 php 脚本在一台机器上运行,在另一台机器上会产生错误。
【问题讨论】:
考虑格式化日志。 如果您的 SQL Server 不在 LocalHost 上,您是否尝试从其他地方连接到它以确保允许远程连接? 是的,我可以从另一台机器上的另一个ip连接到sql server,实际上是多台其他机器 【参考方案1】:解决这个问题的方法是安装 Microsoft SQL Server Management ...
MSMSS
【讨论】:
以上是关于连接失败 - 使用 php 7.3 和 8.0 失败 - 尝试 wamp 和 xampp - 尝试访问 sqlserver 数据库的主要内容,如果未能解决你的问题,请参考以下文章
由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失%