ID: 34647 Comment by: vinsonr at gmail dot com 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:
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) Previous Comments: ------------------------------------------------------------------------ [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] f...@php.net 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 ------------------------------------------------------------------------ [2005-09-26 18:51:57] j dot geusebroek at intellit dot nl Description: ------------ mssql.timeout has no affect, a query will wait an infinite time and the scripts hangs. I'm using the FreeTDS library, version 6.3 but i also tried latest FreeTDS CVS. FreeTDS debug file shows that a timeout has occured (i also set the timeout in the FreeTDS client) but PHP keeps running. (dblib.c:4010:in dbsqlok() net.c:327:exceeded query timeout: 10 net.c:327:exceeded query timeout: 10 net.c:327:exceeded query timeout: 10 net.c:327:exceeded query timeout: 10 net.c:327:exceeded query timeout: 10 net.c:327:exceeded query timeout: 10 ) Reproduce code: --------------- Perform any query that outlasts your mssql.timeout setting. Expected result: ---------------- PHP exiting with a fatal error. Actual result: -------------- Infinite wait. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34647&edit=1