Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
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
?
419 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

636 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