ID:               42943
 Updated by:       [EMAIL PROTECTED]
-Summary:          mssql.timeout can only be set in php.ini
 Reported By:      jdolecek at netbsd dot org
-Status:           Open
+Status:           Assigned
 Bug Type:         MSSQL related
 Operating System: Windows
 PHP Version:      5.2.4
-Assigned To:      
+Assigned To:      fmk
 New Comment:

Frank, There was one report about this but that's now "dead". So let's
make this the change request for moving the timeout stuff out of RINIT.



Previous Comments:
------------------------------------------------------------------------

[2007-10-12 10:06:12] jdolecek at netbsd dot org

Description:
------------
Value for mssql.timeout is only consulted on PHP engine startup. The
value is changeable in script in runtime, but setting it has no effect
for newly opened connections. So script gets default timeout set in
php.ini, which is 60 seconds in default installation.

This is quite inconvenient in that you need different PHP.INI for web
server CGI PHP (where queries are short and you want to cache runaway
queries) and batch scripts (which execute long queries and need timeout
disabled).

The value used to be applied properly when set in a script in earlier
version, perhaps even as recent as 5.1 (but I don't really recall).



Reproduce code:
---------------
echo ini_get('mssql.timeout')."\n";
ini_set('mssql.timeout', 1);
echo ini_get('mssql.timeout')."\n";

$c = mssql_connect(host, user, pass)

$s = mssql_query($c, "WAITFOR DELAY '00:00:05'");

Expected result:
----------------
60
1
Warning: mssql_query(): Query failed in script.php on line 10

Actual result:
--------------
60
1


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=42943&edit=1

Reply via email to