ID:               25863
 Comment by:       winterpalace at netspace dot net dot au
 Reported By:      salmanarshad2000 at yahoo dot com
 Status:           Open
 Bug Type:         CGI related
 Operating System: win32 only
 PHP Version:      4CVS, 5CVS, 6CVS..
 New Comment:

We have experienced similar probs here, except with Windows 2000
Server, CGI, and using MS SQL Server 2000.

I have a theory: 
The DB function calls are a red herring.
It's the redirection that's the problem.
IIS is telling the truth.
The location isn't valid.

Basis: 
Switched to FireFox, started getting messages about the location not
being found (where usually I'd get the CGI error).  Looked at the code
I use for redirection:
header("Location: http://"; . $_SERVER['HTTP_HOST'] .
dirname($_SERVER['PHP_SELF']) . "nextpage.php");
Found that dirname function was returning a "\" not a "/".
Rewrote this as:
header("Location: http://"; . $_SERVER['HTTP_HOST'] .
str_replace("\\","/",dirname($_SERVER['PHP_SELF'])) . "nextpage.php");

No. More. Probs. (as yet :-))
Needs testing on other setups, go ahead :-).


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

[2004-10-05 00:13:52] true_weakness at hotmail dot com

Hi All i have a windows 2003 sErver running IIS 6, I had the same
problem with the cgi timeout, resolved by 
Downloading the IIS 6 resource kit. 
http://download.microsoft.com/download/7/8/2/782c25d3-0f90-
4619-ba36-f0d8f351d398/iis60rkt.exe  
With the IIS Metabase Explorer, go to the Server name,  Expand 
LM,  Go to W3SVC.   Find event CGI Timeout and change the 
default from 300 secs to whatever you need and it works

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

[2004-09-30 22:52:02] mlisondra at lisondra dot biz

This has occured in my applications that use PHP 4.3.6
with a MS SQL server backend.
Using Windows 2000 Server.

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

[2004-09-27 18:49:19] jvanhoy at archermalmo dot com

Another clue about this weird bug is....

If you make undefined or bad system calls on a Windows box the app will
throw this error.  For example, in moving a PHP app from a *nix
environment to a Windows2003 Server env. the following line of code
WILL cause the "CGI Heart attack" to occur:

system("rm /usr/local/apache/sessions/$THIS_SESSID");

That dog won't hunt on an NT machine and causes this error to occur. 
Remove the line (or rewrite it to use the proper NT syntax) and the
error goes away.

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

[2004-09-11 16:53:47] moricio at hotmail dot com

Hi!

I have come to this error all the time and finally decided to do
something and **SURPRISE** it worked!!

And I say it worked because I tried it before and didn't work at all.

The solution is to install PHP under IIS as an ISAPI module and not as
a CGI processor.

I have Windows XP, IIS, MySQL, PHP 4.3.4 and is working great without
this problem.

Also, follow the exact instructions as they appear in the install.txt
file in the php directory.

bye.

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

[2004-09-08 20:37:21] salmanarshad2000 at yahoo dot com

The same problem was also noticed on Windows Server 2003 machine with
IIS 6.0, php version 4.3.6, and mysql 3.2x.xx, faulting php application
is moodle (www.sourceforge.net). The "CGI application misbehaved" error
appears randomly on pages that contain lots of mysql_query() and
header( "location: " ).

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

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/25863

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

Reply via email to