ID: 34647
Comment by: a dot e at inne dot pl
Reported By: j dot geusebroek at intellit dot nl
Status: No Feedback
Bug Type: MSSQL related
Operating System: Suse 9.3
PHP Version: 5.0.5
Assigned To: fmk
New Comment:
I think i am seeing the same issue on php 5.2.6 on Mac
Im setting timeout 60 in php.ini and 8 at runtime. Im runnig nc -l -p
4000 on localmachine and pointing mssql connection to it.
I can see its connecting and then hangs forever.
If i point mssql connect to non existing ip it fails after
connection_timeout as it should.
Is there any chance for this setting to be fixed? or any way around it?
Thanks
Previous Comments:
------------------------------------------------------------------------
[2009-04-20 21:41:48] vinsonr at gmail dot com
This is still occurring in 5.2.6. It sits there timing out:
write(1, "Running query...\n", 17Running query...
) = 17
gettimeofday({1240263244, 234960}, NULL) = 0
gettimeofday({1240263244, 234963}, NULL) = 0
select(4, NULL, [3], NULL, {5, 0}) = 1 (out [3], left {5, 0})
gettimeofday({1240263244, 235613}, NULL) = 0
sendto(3, "\1\1...@\0\0\1\0s\0e\0l\0e\0c\0t\0 \0[\0d\0a\0t\0e\0"...,
2112, MSG_NOSIGNAL, NULL, 0) = 2112
gettimeofday({1240263244, 235962}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263249, 235390}, NULL) = 0
gettimeofday({1240263249, 235490}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263254, 235491}, NULL) = 0
gettimeofday({1240263254, 235591}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263259, 235422}, NULL) = 0
gettimeofday({1240263259, 235523}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263264, 235536}, NULL) = 0
gettimeofday({1240263264, 235637}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263269, 235253}, NULL) = 0
gettimeofday({1240263269, 235354}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263274, 235997}, NULL) = 0
gettimeofday({1240263274, 236097}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263279, 236311}, NULL) = 0
gettimeofday({1240263279, 236413}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263284, 236515}, NULL) = 0
gettimeofday({1240263284, 236615}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
gettimeofday({1240263289, 236319}, NULL) = 0
gettimeofday({1240263289, 236419}, NULL) = 0
select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout)
------------------------------------------------------------------------
[2007-06-20 12:19:05] jochem dot blok at fasterforward dot nl
I also have this problem with PHP 5.2.0.
mssql.timeout is set to Local Value 60 and Master Value 60. Php doesn't
time out. I have a query which run over 60 seconds.
------------------------------------------------------------------------
[2007-06-15 11:36:39] sarstrom at gmail dot com
I'm sorry, but setting the timeouts in php.ini doesn't help either.
phpinfo() confirms that the limit is set to 1 second, but it waits an
infinite amount of time for the query to finish!
Deliberatly making a self-join-query will lock up one php-thread
forever, after all threads are locked up, the webserver won't answer any
further requests.
/hps
------------------------------------------------------------------------
[2007-06-14 16:47:33] [email protected]
The two time out parameters is used during request startup and it will
not have any effect to change the value at runtime.
I'll look at a way to move these to the connect/query functions, but
until then you should specify these in your php.ini file.
------------------------------------------------------------------------
[2007-06-13 11:30:52] sarstrom at gmail dot com
I can still reproduce this problem as of 2007-06-13.
I've tried with PHP 5.2.1 and 5.2.3, And FreeTDS is at 0.64
on a FreeBSD 6.1 install.
This code always waits the 20 seconds and tells me that everything went
according to plan
$dbLink = mssql_connect('sqldmz','sosuser','123456');
ini_set('mssql.timeout','1');
$query = "WAITFOR DELAY '000:00:20' SELECT TOP 1 * FROM
tbl_serviceorder";
$res = mssql_query($query,$dbLink);
if(!$res) {
echo 'No, error, warning, timeout!!!!!!!!!';
}
else {
$row = mssql_fetch_assoc($res);
echo 'Everything is OK: '.$row['OrderNumber'];
}
/hps
------------------------------------------------------------------------
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/34647
--
Edit this bug report at http://bugs.php.net/?id=34647&edit=1