ID: 38965 User updated by: aren at cambre dot biz Reported By: aren at cambre dot biz -Status: Bogus +Status: Open Bug Type: MSSQL related Operating System: Windows 2003 (for both servers) PHP Version: 4.4.4 Assigned To: fmk New Comment:
There is a clear documentation error. From http://us3.php.net/manual/en/ref.mssql.php: "The Client Tools can be installed ... by copying ntwdblib.dll from \winnt\system32 on the server to \winnt\system32 on the PHP box. Copying ntwdblib.dll will only provide access. Configuration of the client will require installation of all the tools." The method suggested by the manual, simply copying the ntwdblib.dll, will force PHP to use named pipes. This needs to be documented. Until then, you have a documentation bug because PHP will be unable to talk to SQL Server in its industry standard configuration (i.e., TCP 1433, not named pipes) if you simply copy the DLL on a machine that does not have the SQL Server Client Tools installed. Previous Comments: ------------------------------------------------------------------------ [2006-09-27 21:23:56] [EMAIL PROTECTED] 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. ------------------------------------------------------------------------ [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? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/38965 -- Edit this bug report at http://bugs.php.net/?id=38965&edit=1