Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 远程连接到SQL server 2008 R2_Php_Sql Server - Fatal编程技术网

Php 远程连接到SQL server 2008 R2

Php 远程连接到SQL server 2008 R2,php,sql-server,Php,Sql Server,这个问题可能更适合Serverfault,但我不确定实际问题在哪里,所以我将从这里开始提问 我刚刚安装了带有SQL Server 2008 R2 SP1的Windows Server 2012。我们通常通过测试连接之类的php脚本来监控SQL服务器,但我无法连接到这个特定的服务器。错误日志显示“原因:找不到与提供的名称匹配的登录名”,但当将完全相同的用户名/密码复制/粘贴到本地服务器或远程服务器上的Management Studio时,一切正常。我认为这是因为2012年的操作系统,但并不完全确定

这个问题可能更适合Serverfault,但我不确定实际问题在哪里,所以我将从这里开始提问

我刚刚安装了带有SQL Server 2008 R2 SP1的Windows Server 2012。我们通常通过测试连接之类的php脚本来监控SQL服务器,但我无法连接到这个特定的服务器。错误日志显示“原因:找不到与提供的名称匹配的登录名”,但当将完全相同的用户名/密码复制/粘贴到本地服务器或远程服务器上的Management Studio时,一切正常。我认为这是因为2012年的操作系统,但并不完全确定,希望有人能给我一些建议

运行SQL的服务器和执行监视的服务器之间没有防火墙,允许远程连接。被测试的用户都有连接到数据库引擎、启用登录和禁用任何密码策略的权限

PHP版本是5.3.3,我使用的是freeTDS和ProtocolVersion8.0。最后,这是php.ini中与mssql相关的所有配置选项

mssql mssql.allow_persistent => On 
mssql.batchsize => 0 
mssql.charset => no value 
mssql.compatability_mode => Off 
mssql.connect_timeout => 5 
mssql.datetimeconvert => On  
mssql.max_links => Unlimited  
mssql.max_persistent => Unlimited 
mssql.max_procs => Unlimited 
mssql.min_error_severity => 10 
mssql.min_message_severity
mssql.secure_connection => Off 
mssql.textlimit => Server default 
mssql.textsize => Server default
mssql.timeout => 60

似乎我对TCP连接权限的理解是错误的,这不是编程/php特定的错误。下面的博文描述了如果将来有人在这个问题上遇到同样的错误时会遇到的问题


我不知道为什么这个问题只出现在我们的Windows Server 2012机器上,但对我们来说似乎就是这样。

服务器是否设置为允许混合模式身份验证?php可能正在尝试使用sql server凭据,而服务器只需要域登录。是的,启用了混合模式,并且所涉及的登录是sql server登录,而不是域登录