ID: 44300
Comment by: dbuerer at leviton dot com
Reported By: alfa77 at gmail dot com
Status: Open
Bug Type: MSSQL related
Operating System: Windows 2000
PHP Version: 5.2.5
New Comment:
I too have suffered this same problem for the last couple of years on
all of the 5.x release of PHP. It works great for days then has problem
for a few days then works great. 1-3 page reloads often solves the
problem but not always. Unfortunatley support for this extension has
been discontinued--I wonder if this is one of the reasons why? I would
like to try using Microsofts SQLSRV driver but converting an entire
website from mssql to sqlsrv is going to be a lot of work!
Previous Comments:
------------------------------------------------------------------------
[2009-02-13 19:26:45] b116d at mail dot ru
Same problem here.
Apache 2.2.10
Php 5.2.5 as module.
OS win2003 sp1+all critical updates
I even try upgrade to php 5.2.8, but it still appears.
------------------------------------------------------------------------
[2008-12-09 15:25:50] frosty dot z at freesbee dot fr
Hi, same problem detected here (connection "rarely" successful with
mssql_connect, with a MSSQL server under quite heavy load).
Happens only with PHP on Windows, not on Linux (FreeDTS).
But for some reason I needed to connect from PHP/Windows, so I have
used the "ADO workaround", as previously suggested by alfa77.
At first, I didn't understand very well that workaround, so here are
some details :
Do not use the ADOdb engine 'mssql' because it will still use
mssql_connect(). Instead, use 'ado_mssql' which uses COM objects ; that
makes all the difference.
Here is a basic database functions lib :
function db_open($db_host, $db_login, $db_pass, $db_name)
{
$db = NewADOConnection('ado_mssql');
$dsn="PROVIDER=MSDASQL;DRIVER={SQL Server};"
.
"SERVER=".$db_host.";DATABASE=".$db_name.";UID=".$db_login.";PWD=".$db_pass.";";
$db->Connect($dsn);
return $db;
}
function db_query($db, $query)
{
return $db->Execute($query);
}
function db_fetch_assoc($res)
{
$obj = $res->FetchNextObj();
return get_object_vars($obj);
}
function db_close($db)
{
$db->Close();
}
------------------------------------------------------------------------
[2008-09-26 11:53:35] yusefhassan at gmail dot com
Have you try editing php.ini mssql.max_procs?
mssql.max_procs = -1
------------------------------------------------------------------------
[2008-03-26 08:31:18] william at nettsite dot co dot za
I am running three Windows XP SP2 boxes as developer workstations, all
PHP 5.2.5, installed into c:\php to avoid the space in "Program Files",
and the MS Sql connection works perfectly on one of the machines, but
not the other two. All three boxes are on the same LAN, can connect to
the database using MS SQL Studio, and all have IIS 5.1. I have copied
the PHP installation from the working PC to the others, no difference.
This is whether the connection is to a remote or local SQL server.
------------------------------------------------------------------------
[2008-03-10 05:41:10] alfa77 at gmail dot com
I think that this problem occurs due to usage of old DB-Lib for
connecting to MSSQL. There are another bug that you cant fetch
varchar more than 256-character length (you have to convert it to
TEXT).
Its a pity, but the best way to work with MSSQL now is using ADO (no
connection/long varchar/Unicode problems).
------------------------------------------------------------------------
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/44300
--
Edit this bug report at http://bugs.php.net/?id=44300&edit=1