PHP 4.0 Bug #8744 Updated: call to header() causes CGI error
| From: | emily at crytech dot com | Date: | Tue, 16 Jan 2001 23:29:28 +0000 |
| Subject: | PHP 4.0 Bug #8744 Updated: call to header() causes CGI error | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-44292@lists.php.net to get a copy of this message | ||
ID: 8744
User Update by: emily@crytech.com
Old-Status: Feedback
Status: Open
Bug Type: IIS related
Description: call to header() causes CGI error
A few more things: the problem is not easily reproducible. Also, if I change all of the database
calls to go to mySQL (which I have installed on Windows 2000) instead of SQL Server 2000 (which is
the database system I was using, also installed on the same machine), I do NOT get the CGI errors.
However, in both instances, the databases do get updated or otherwise manipulated successfully;
it's just the redirect that fails when using SQL Server. Hope this helps.
Previous Comments:
---------------------------------------------------------------------------
[2001-01-16 14:12:01] derick@php.net
Can you tell us what is in the logs of IIS?
---------------------------------------------------------------------------
[2001-01-16 14:07:45] emily@crytech.com
Our situation is similar to that in bug report 8571, particularly situations 1 and 2. After adding,
updating or deleting a record to a MSSQL database, the user is referred to this function (stored in
file which is included in each page):
function pageRedirect($inURL) {
header("Location: $inURL");
exit;
}
$inURL is never exactly the same as the current URL - either you are redirected to a completely
different file name, or to the same file name with a different query string appended.
The record modification part always completes successfully in MSSQL, and the header() function sends
the user to the new URL, but this error occurs:
[start]
CGI ERROR
CGI application misbehaved by not returning a complete set of headers. The headers that it
did return are:
[end]
... and any code in the page that the user has been redirected to is NOT executed. If the user
clicks refresh, it does and all is well.
This is a PHP web application being ported from a Linux/mySQL environment, where it works, so it
appears to be an IIS-specific issue.
Thanks in advance for any feedback.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=8744