ID:               38965
 Updated by:       [EMAIL PROTECTED]
 Reported By:      aren at cambre dot biz
-Status:           Open
+Status:           Bogus
 Bug Type:         MSSQL related
 Operating System: Windows 2003 (for both servers)
 PHP Version:      4.4.4
 Assigned To:      fmk
 New Comment:

The MSSQL Extension for PHP uses ntwdblib as the library to connect to
teh server. The configuration of this library is done with MS SQL
Server Client Tools. These tools are installed from the CD and can be
installed without the rest of the server to allow remote connections to
the server.

If ntwdblib.dll is copied to the server one way or the other, there is
no way (except for registry hacks) to configure the library. PHP is not
responsible for installation of a Microsoft tool or any other 3rd party
libraries, but we expect them to be installed correct.

There is no bugs in PHP here.



Previous Comments:
------------------------------------------------------------------------

[2006-09-26 19:15:13] aren at cambre dot biz

Lemme add some more info:

The IIS (web) server is a really vanilla Windows Server 2003 box. All
that is installed, per Add or Remove Programs, is McAfee VirusScan
Enterprise, Microsoft .NET Framework 2.0, PHP 4.4.4, and WMware Tools
(it's virtual). I also installed Wireshark 0.99.3 and WinPcap 3.1, but
they were installed afte the fact and did not affect the issue.

If PHP's SQL Server connect script doesn't work right on a vanilla box,
I can't believe this is "bogus". SQL Server or SQL Server Client Tools
has never been installed on this box.

Programs should adhere to industry standard behaviors on vanilla
Windows boxes, and industry standard for talking to SQL Server is TCP
1433. If PHP is not doing it, it needs to be fixed or properly
documented.

It may be as simply as classifying this as a documentation bug and
adding documentation that addresses the issue, if that is the proper
solution.

------------------------------------------------------------------------

[2006-09-26 18:23:45] aren at cambre dot biz

This ntwdblib was on a default installation of Windows Server 2003.

------------------------------------------------------------------------

[2006-09-26 17:35:43] [EMAIL PROTECTED]

No PHP uses ntwdblib and if you install the Client tools from MSSQL
server you can define the default protocol. Older versions of ntwdblib
(or combinations of other MS tools installed) uses named pipes as the
default.

The best way is to install the Client Tools and us the Clinet Network
utility to set default protocol as well as create aliases for different
servers. Each alias can be defined with the prefered protocol.

------------------------------------------------------------------------

[2006-09-26 17:25:21] [EMAIL PROTECTED]

Frank, is this really a PHP problem?

------------------------------------------------------------------------

[2006-09-26 17:16:54] aren at cambre dot biz

Description:
------------
When using mssql_connect to connect to a SQL Server database on a
remote server, PHP attemtps to connect using named pipes. This is a
terribly outdated behavior; SQL Server connections these days are
almost always done with TCP 1433.

I figured this out with a difficult phpBB installation and using
Wireshark (formerly Ethereal) to watch network traffic. There is a
registry hack that can force the SQL Server Client program to use TCP
1433, but this hack's effects on other software is unknown.

For more info, see
http://people.smu.edu/acambre/blog/2006/09/22/Buggy+PHP.aspx and
http://www.phpbb.com/phpBB/viewtopic.php?t=446662&postdays=0&postorder=asc&start=0

Reproduce code:
---------------
Just use mssql_connect to connect to an external database.

Expected result:
----------------
The database should open just as if the database is on localhost.

Actual result:
--------------
Usually a cannot connect error.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=38965&edit=1

Reply via email to