繁体   English   中英

无法使用PHP 7.1从WAMP Server连接到远程SQL数据库

[英]Unable to connect to remote SQL database from WAMP Server using PHP 7.1

我曾尝试在互联网上搜寻有关此内容的信息,但似乎找不到解决方法,因此如果这是重复的操作,我会道歉,因为我似乎找不到任何有助于我的处境的信息。

我已经安装了新的WAMP 3.1.3 Server,并且正在尝试运行Laravel 5.6应用程序。 该应用程序连接到网络上的远程MSSQL数据库,并且我已使用相同的PHP版本(但Ubuntu)在Homestead测试环境中成功运行了该数据库。

在WAMP Server(Microsoft Server 2016)上,我已经从https://github.com/Microsoft/msphpsql/releases/tag/v5.3.0安装了PHP 7.1 SQL驱动程序。 我已经编辑了php.ini文件以启用如下驱动程序:

[PHP_SQLSRV]
extension=php_sqlsrv_71_ts.dll
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_71_ts.dll

我可以在WAMP托盘实用程序中直观地看到php_pdo_sqlsrv_71_tsphp_sqlsrv_71_ts被选中并启用了PHP扩展。 我已经运行了php -m ,可以看到已安装并启用了以下模块:

...
PDO
pdo_mysql
pdo_sqlite
pdo_sqlsrv
...

我已经运行了phpinfo(),可以看到还安装了pdo_sqlsrv 在此处输入图片说明

但是,当我尝试连接到远程数据库时,出现以下错误: Illuminate\\Database\\QueryException: SQLSTATE[28000]: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Login failed for user ...

我正在使用窗口身份验证作为数据库登录名,并且已在WAMP Server上安装了SQL Management Studio,并已使用Windows凭据成功连接到数据库,因此可以验证这不是用户名或密码问题。

我可以确认.env文件中的所有详细信息都是正确的,并且与Homestead测试环境完全相同。

我继续尝试为SQL Server安装ODBC驱动程序13,但是,安装后出现以下错误: Installation of ODBC Driver 13 for SQL Server failed because a higher version already exists on the machine.

当我检查安装的程序时,它表明已经安装了版本11和13:

在此处输入图片说明

我也尝试过启用php_odbcphp_pdo_odbc模块,但这也没有任何区别。

我的WAMP设置如下所示:

在此处输入图片说明

我真的不知道还能尝试什么。 也许我错过了什么?

原来,我不喜欢尝试通过Windows身份验证访问数据库。 由于这篇文章,SQL Server的Microsoft ODBC Driver 13:用户'sa'登录失败,我能够确定SQL抛出了一个关于不喜欢我的用户名/密码的错误。

奇怪的是,即使我可以使用Windows凭据通过同一台计算机上的Management Studio访问远程数据库,PHP驱动程序的故事也一定不同。

我针对数据库创建了一个新的用户帐户,并且能够成功登录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM