linux php连接到运行MS SQL Server Express的Server 2008

linux php连接到运行MS SQL Server Express的Server 2008,php,sql-server,Php,Sql Server,我可以使用以下凭据从客户端PC连接到SQL Server Express。在mgnt sudio: server: 192.168.44.96\sqldb auth: windows auth user name: domain\user pw: 1234! 如果有一个LAMP服务器试图连接到上述SQL server,PHP的外观如下: $server = '192.168.44.96\sqldb'; $username = 'domain\user'; $password = '1234!'

我可以使用以下凭据从客户端PC连接到SQL Server Express。在mgnt sudio:

server: 192.168.44.96\sqldb
auth: windows auth
user name: domain\user
pw: 1234!
如果有一个LAMP服务器试图连接到上述SQL server,PHP的外观如下:

$server = '192.168.44.96\sqldb';
$username = 'domain\user';
$password = '1234!';
$database = 'testing123';
$connection = mssql_connect($server, $username, $password);
if($connection != FALSE){
    echo "Connected to the database server OK<br />";
}
else {
    die("Couldn't connect" . mssql_get_last_message());
}

if(mssql_select_db($database, $connection)){
    echo "Selected $database ok<br />";
}
    else {
    die('Failed to select DB');
}
$server='192.168.44.96\sqldb';
$username='domain\user';
$password='1234!';
$database='testing123';
$connection=mssql_connect($server、$username、$password);
如果($connection!=FALSE){
echo“连接到数据库服务器正常
”; } 否则{ 死(“无法连接”。mssql_获取_最后一条消息()); } 如果(mssql_选择_数据库($database,$connection)){ 回显“选定的$database ok
”; } 否则{ die('未能选择数据库'); }
页面显示“无法连接”,错误日志显示“无法连接ot服务器:192.168.44.96”

我还在php.ini中设置了mssql.secure_connection=On,并重新启动了apache2

有什么想法吗


谢谢

我不能评论PHP部分,我只知道SQL Server。
但我可以告诉你:Windows身份验证不是这样工作的。
您不能使用Windows身份验证,然后将用户名和密码显式传递给服务器。您需要执行以下操作之一:

  • 使用SQL Server身份验证并显式传递用户名和密码
  • 使用Windows身份验证和不传递用户名和密码-您将自动与活动的Windows用户连接

  • 由于您使用的是Linux服务器,我很确定您不能使用Windows身份验证。因此,您必须使用SQL身份验证(需要在新的SQL Server安装中启用),并且必须在SQL Server上创建用户。

    我不能对PHP部分发表评论,我只知道SQL Server。
    但我可以告诉你:Windows身份验证不是这样工作的。
    您不能使用Windows身份验证,然后将用户名和密码显式传递给服务器。您需要执行以下操作之一:

  • 使用SQL Server身份验证并显式传递用户名和密码
  • 使用Windows身份验证和不传递用户名和密码-您将自动与活动的Windows用户连接

  • 由于您使用的是Linux服务器,我很确定您不能使用Windows身份验证。因此,您必须使用SQL身份验证(需要在新的SQL Server安装中启用),并且必须在SQL Server上创建用户。

    如果您有默认的sqlexpress安装,则可能需要配置SQL Server以允许远程访问连接。
    另外,我不知道你是否可以连接windows auth。在sql server上,您还可以设置sql身份验证并使用uid=;pwd=。

    如果您有默认的sqlexpress安装,则可能需要配置sql server以允许远程访问连接。
    另外,我不知道你是否可以连接windows auth。在sql server上,您还可以设置sql身份验证并使用uid=;pwd=。

    我们在我的工作场所做了这件事,我们最终在windows机器上托管PHP,因为Linux上没有好的MSSQL驱动程序。我们让它工作了,但是连接起来需要30秒等等。我们在我的工作场所这样做了,最后我们在一个windows盒子上托管了PHP,因为Linux上没有好的MSSQL驱动程序。我们让它工作了,但是连接等需要30秒。有没有办法修改当前sql server实例以使用混合模式身份验证?是的,请看这个问题:太棒了!更改为混合模式,添加了一个sql用户,使用sql身份验证和新用户凭据连接。很好!谢谢是否有任何方法可以修改当前sql server实例以使用混合模式身份验证?是的,请参见此问题:太棒了!更改为混合模式,添加了一个sql用户,使用sql身份验证和新用户凭据连接。很好!谢谢