php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #31596 Unable to connect to an mssql server using mssql_connect
Submitted: 2005-01-18 12:17 UTC Modified: 2005-01-18 17:41 UTC
From: php at thesheath dot com Assigned:
Status: Not a bug Package: MSSQL related
PHP Version: 4.3.9 OS: win2003
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: php at thesheath dot com
New email:
PHP Version: OS:

 

 [2005-01-18 12:17 UTC] php at thesheath dot com
Description:
------------
Webserver A is in an active directory VHOSTS, webserver B is in Active directory VHOSTS2.  MSSQL Server A is in VHOSTS and MSSQL Server B is in VHOSTS2.  If an attempt is made to connect to MSSQL Server A from Webserver B using mssql_connect the connection fails.  However, if an attempt is made to connect to MSSQL Server B from Webserver B using mssql_connect, the connection will succeed.  This also applies if you change the test around so webserver A connecting to MSSQL Server B.  This is purely an internal connection with the only difference in the webservers and ms sql servers is being they're in different domains.

Reproduce code:
---------------
<?php
  db_connect();
?>
<?php
function db_connect ()
{
  $db = mssql_connect ("sql2k230", "*****", "******");
  if (!$db) {
    echo "\nError connecting to SQL Server, User = '" . "" . "', p/w = '" . "" . "' \n\n";
    die('Could not connect to server: ' . mssql_get_last_message());
  }
  $result = mssql_select_db ('master', $db);
  if (!$result) {
    die('Could not select database: ' . mssql_get_last_message());
  }
}
?>

Expected result:
----------------
The script above should have html included, in which case whatever html is included should be produced in the browser after the db connect has taken place.  Or a blank page if using the code only.

Actual result:
--------------
Warning: mssql_connect(): Unable to connect to server: sql2k227 in e:\******** on line 28
Error connecting to SQL Server, User = '*****', p/w = '****' Could not connect to server: 

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-01-18 12:33 UTC] php at thesheath dot com
Summary description changed
 [2005-01-18 17:18 UTC] fmk@php.net
Please test the connection with mssql client tools first.

Connecting to mssql servers requires that the ports uses is open in the firewall, that the correct user id and password is used (if the SQL server allows SQL server authentication) or that the user account used to execute the PHP script is authneticated on the web server. If Integrated NT authentication is used you must specify mssql.secure_connection = On in your php.ini file.
 [2005-01-18 17:41 UTC] php at thesheath dot com
"Please test the connection with mssql client tools first." This was the first initial test and authentication through Enterprise Manager or QA is fine.

"Connecting to mssql servers requires that the ports uses is open in the
firewall"  There are no FW in use as this is a purely an internal connection.
"that the correct user id and password is used" User and password have already been confirmed as correct.

"If
Integrated NT authentication is used you must specify
mssql.secure_connection = On in your php.ini file."  The sql servers use Mixed mode authentication with the connection string requiring the sql login user and password, which are correct.

This was clear from the fact that web server A could not connect to sql server B, however, using the same script a connection is possible from web server b to sql server b.  If the username or password was incorrect, no connection would be possible, from anywhere.

Basically is there a problem when trying to connect to an SQL server with mssql_connect when the web server is in a different non trusted domain to the sql server?
 [2012-07-10 08:39 UTC] thair99 at hotmail dot com
I am having same error . . . but I am on linux mint < no dll > there is no 
firewall 
the username : sa 
when i use tsql -S/H -U -P everything works ok 
but not from php
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 14:01:32 2024 UTC