?
Solved

CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers.

Posted on 2006-11-21
11
Medium Priority
?
416 Views
Last Modified: 2013-11-18
U run this simple php script:

<?php

$a = file_get_contents("http://img.microsoft.com/windows/images/homepage/products/winFamLogo_XP.gif");
echo $a;

?>

and I get the error

CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers.

the only way it works is to change the path to gif file to an actual path with a gif or jpg file..
but it cannot work with urls..
any one knows how to fix this ?
0
Comment
Question by:MaRiOsGR
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 2
  • 2
  • +1
11 Comments
 
LVL 29

Expert Comment

by:TeRReF
ID: 17987316
Try this:
<?php
ob_start();
$a = file_get_contents("http://img.microsoft.com/windows/images/homepage/products/winFamLogo_XP.gif");
echo $a;
ob_end_flush();
?>
0
 
LVL 2

Author Comment

by:MaRiOsGR
ID: 17987427
I have to fix it to work globaly, not just change some code in one file.

0
 
LVL 29

Expert Comment

by:TeRReF
ID: 17987817
Then you should either use the ISAPI version of PHP or if the solution works for one file, you can change the php.ini setting output_buffering to On:
output_buffering = On
0
WordPress Tutorial 1: Installation & Setup

WordPress is a very popular option for running your web site and can be used to get your content online quickly for the world to see. This guide will walk you through installing the WordPress server software and the initial setup process.

 
LVL 6

Expert Comment

by:aescnt
ID: 17988541
*shrug*
What other PHP files do it?
Putting an appropriate content type header (header("Content-type: image/gif")) might help.
(And no, there's no "global" way to automate this.. sorry :))

Btw, I'm don't quite understand why ob_start/ob_end_flush will fix it. I know it will buffer the output and flush it anyway, which is the same as not doing it at all. (I don't think doing "echo $a" will flush in the middle of echo'ing $a, so I don't think there's a need for output buffering.)
0
 
LVL 2

Author Comment

by:MaRiOsGR
ID: 17988768
the header header("Content-type: image/gif" is needed only when
I change this ("http://img.microsoft.com/windows/images/homepage/products/winFamLogo_XP.gif");
to a local file like("mypic.gif");

The problem was shown after an upgrade in the php version...

I test the script in a linux server and it works fine, the problem happens only in the windows box...

0
 
LVL 6

Expert Comment

by:aescnt
ID: 17988830
Hmm, file_get_contents() might be producing an error that you're not seeing. try making a php file with `<?php $a = file_get_contents("http://www.google.com"); echo $a; ?>` and see what the output is.

This is just a hunch, but the fopen wrappers might not be enabled on your windows installation of PHP, and thus produces an error. Not sure why it would give that CGI error though.
0
 
LVL 2

Author Comment

by:MaRiOsGR
ID: 17994116
aescnt that gives me tha same output...

CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers.


I try to use at the vhost options to use ISAPI for php works.
then reaload the page and I get this error:

The connection was reset

The connection to the server was reset while the page was loading.

I turned off the firewall just in case but nothing changed..
0
 
LVL 2

Author Comment

by:MaRiOsGR
ID: 17994260
A possible sollution found,

it is a bug of php 4.4.2 and it doenst allow the includ of http://
we will update to 4.4.4 version tonight.

I will reply with the result.
0
 
LVL 2

Author Comment

by:MaRiOsGR
ID: 18150996
The update fixed everything it was a bug of php 4.4.2
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 18473038
PAQed with points refunded (500)

Computer101
EE Admin
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question