Re: CGI error after header("location: some.php");

From: Date: Mon, 05 May 2003 09:51:51 +0000
Subject: Re: CGI error after header("location: some.php");
References: 1  Groups: php.windows 
Request: Send a blank email to php-windows+get-19764@lists.php.net to get a copy of this message
Hi peter, this can be solved by making few changes to ur IIS/PWS: follow the instructions below: Windows NT/2000/XP and IIS 4 or newer To install PHP on an NT/2000/XP Server running IIS 4 or newer, follow these instructions. You have two options to set up PHP, using the CGI binary (php.exe) or with the ISAPI module. In either case, you need to start the Microsoft Management Console (may appear as 'Internet Services Manager', either in your Windows NT 4.0 Option Pack branch or the Control Panel=>Administrative Tools under Windows 2000/XP). Then right click on your Web server node (this will most probably appear as 'Default Web Server'), and select 'Properties'. If you want to use the CGI binary, do the following: a.. Under 'Home Directory', 'Virtual Directory', or 'Directory', click on the 'Configuration' button, and then enter the App Mappings tab. b.. Click Add, and in the Executable box, type: c:\php\php.exe (assuming that you have unziped PHP in c:\php\). c.. In the Extension box, type the file name extension you want associated with PHP scripts. Leave 'Method exclusions' blank, and check the Script engine checkbox. You may also like to check the 'check that file exists' box - for a small performance penalty, IIS (or PWS) will check that the script file exists and sort out authentication before firing up php. This means that you will get sensible 404 style error messages instead of cgi errors complaining that php did not output any data. You must start over from the previous step for each extension you want associated with PHP scripts. .php and .phtml are common, although .php3 may be required for legacy applications. d.. Set up the appropriate security. (This is done in Internet Service Manager), and if your NT Server uses NTFS file system, add execute rights for I_USR_ to the directory that contains php.exe. To use the ISAPI module, do the following: a.. If you don't want to perform HTTP Authentication using PHP, you can (and should) skip this step. Under ISAPI Filters, add a new ISAPI filter. Use PHP as the filter name, and supply a path to the php4isapi.dll. b.. Under 'Home Directory', click on the 'Configuration' button. Add a new entry to the Application Mappings. Use the path to the php4isapi.dll as the Executable, supply .php as the extension, leave Method exclusions blank, and check the Script engine checkbox. c.. Stop IIS completely (NET STOP iisadmin) d.. Start IIS again (NET START w3svc) Regards, Guru. "Peter Misun" <misun@microstep-mis.sk> wrote in message news:3EB62B74.97965CE6@microstep-mis.sk... > > Hi, > > I'm running PHP 4.1.2 on W2k Server. > I have one big problem: > > in some script (first.php) a have a html form ("<form ...>"), from where second.php is called > in second.php a have some commands doing something with database through odbc_exec() function and after that calling with header("location:third.php") the next script third.php > > problem is, that in many cases i've got CGI Error message instead of output from third.php > but after reloading/refreshing page manually by user, it shows the third.php without any problems > > error message is: > CGI Error > The specified CGI application misbehaved by not returning a complete set of > HTTP headers. The headers it did return are: > > what's wrong? any ideas? > > thanks a lot > > 5o > >

« previous php.windows (#19764) next »