ID: 29074
Updated by: [EMAIL PROTECTED]
Reported By: david dot blair at nsi1 dot com
-Status: Open
+Status: Bogus
Bug Type: MSSQL related
Operating System: MS 2003
PHP Version: 4.3.7
New Comment:
Bogus it is.
Previous Comments:
------------------------------------------------------------------------
[2005-01-11 22:50:23] david dot blair at nsi1 dot com
We've retired the server that was having the issue...the new production
server is as stable as the development servers...so I'm not sure what to
do with this bug report...
Should it be closed? Handed off? Bogused? Do I scratch this up as a
corrupt install of SQL or PHP or the OS on that server...?
------------------------------------------------------------------------
[2004-10-07 18:15:07] phpbugreport at workboy dot com
If you have access to a packet sniffer and the basic knowhow, I would
recommend sniffing the connection to and from port 1433 of your MSSQL
server (if you are using 1433 that is) and the web server having the
connect problems. I was able to determine that this problem was on the
SQL side of things by looking at the packet trace. I would log
mssql_connect failures that were corrected by a second attempt and
matched their times exactly to TCP RESET packets being sent from the
MSSQL server back to the web server requesting a connection to port
1433. This allowed me to rule out PHP as the source of the failure.
As to why newer versions of PHP cause this more than older versions,
all I can assume is that the newer PHP is more efficient in some way in
opening TCP connections and this is causing greater concurrency in TCP
connection requests to the SQL server.
With a listen backlog of 25 on my SQL server I still see occasional
failures but that is within an acceptable range now as they are handled
by trying again immediately. If the number starts to go up, I will try
increasing my listen backlog.
I also observed that an entirely separate problem on my SQL server
related to the RAID card increased the failure rate so there appear to
be other mitigating factors on the SQL end. Fixing the RAID issue make
the connect failures rate drop down to zero again.
Charles
------------------------------------------------------------------------
[2004-09-29 20:29:38] david dot blair at nsi1 dot com
(In response to two posts ago) Charles, I tried your fix by setting the
winsocklistenbacklog to 16.
Didn't work.
Had three more incidents today where the first connection was refused
but on an instant reconnect it worked.
------------------------------------------------------------------------
[2004-09-22 07:37:08] pretenda at pretenda dot com
I am also having the same problem. I have been searching high and low
for an answer, but have found none. I ended up creating a loop in my
PHP connect code too, and it has attempted to connect more than once,
27 times on my development server in the past week.
I am running the following:
Windows 2003 Server
IIS6
PHP 5.01
SQL Server 2000 SP3
A also previously had the issue on 4.3.8, which didn't fail as often.
Unfortunately I need some of the features of PHP5 on my new website.
Cheers,
Matt
------------------------------------------------------------------------
[2004-09-21 23:57:14] david dot blair at nsi1 dot com
Charles, this doesn't explain why newer versions of PHP cause the error
more frequently than older versions, when everything else about our
systems remains the same. This also doesn't explain why PHP is the only
thing having issues that contacts my SQL server.
I'll try your work-around tomorrow and monitor the server for a few
weeks to see what happens. It's a step in the right direction to
finding a solution if it does help, but I still see it as a
work-around, not a solution.
------------------------------------------------------------------------
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/29074
--
Edit this bug report at http://bugs.php.net/?id=29074&edit=1