httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Estes -=RCN Mail=-" <e.es...@rcn.com>
Subject RE: Enabling CGI on Apache 1.3.23
Date Sat, 04 May 2002 09:03:55 GMT
Ok, I did /usr/bin/perl -v and got back:
************************************************************************
***

[root@Mithrilhall logs]# /usr/bin/perl -v

This is perl, v5.6.1 built for i386-linux

Copyright 1987-2001, Larry Wall

Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to
the
Internet, point your browser at http://www.perl.com/, the Perl Home
Page.


I created a simple perl script with what you game me and put it in the
/var/www/cgi-bin/ directory and chmoded it to 777. It ran fine from
shell as shown below:
************************************************************************
***********************************************

[root@Mithrilhall cgi-bin]# perl simple.pl
Content-type: text/html\n\n
Hello world
[root@Mithrilhall cgi-bin]#


When attempting to run it from a browser I get the following error:
************************************************************************
************************************************
[Sat May  4 01:58:15 2002] [error] (2)No such file or directory: exec of
/var/www/cgi-bin/simple.pl failed
[Sat May  4 01:58:15 2002] [error] [client 192.168.1.1] Premature end of
script headers: /var/www/cgi-bin/simple.pl







I thank you for taking the time to give me a hand. This really has me
scratching my head. 
Eric



-----Original Message-----
From: obo@bourse.ch [mailto:obo@bourse.ch] 
Sent: May 3, 2002 1:45 AM
To: users@httpd.apache.org
Subject: Re: Enabling CGI on Apache 1.3.23


Eric Estes -=RCN Mail=- wrote:
> 
> This is what I put in my httpd.conf file and then restarted httpd:
> *********************************************************************
> 
> ScriptAlias /cgi-bin/ /var/www/cgi-bin/
> 
> <Directory "/var/www/cgi-bin/">
> AllowOverride None
> Options Includes ExecCGI MultiViews FollowSymLinks
> Order allow,deny
> Allow from all
> </Directory>

This looks OK...  

> 
> This is what shows up in my error log:
> ***************************************
> 
> [Fri May  3 03:30:09 2002] [error] (2)No such file or directory: exec 
> of /var/www/cgi-bin/test.pl failed

This is a system-level error but the message can be confusing - at first
glance it looks like /var/www/cgi-bin/test.pl cannot be found - but I
bet you're certain it does exist. What the message is really saying is
that /usr/bin/perl cannot be found. That is, it loads the program then
tries to load the interpreter defined by the shebang line - but can't
find it. Read on...

> [Fri May  3 03:30:09 2002] [error] [client 192.168.1.1] Premature end 
> of script headers: /var/www/cgi-bin/test.pl

This is the usual consequent error whenever anything goes wrong in CGI.

> 
> This is a copy of the test.pl file I'm trying to run:
> **********************************************************
> 
> #!/usr/bin/perl
> 
> # hello.pl -- my first perl script!
> 
> print "Content-type: text/html\n\n";
> 
> print <<"EOF";
> <HTML>
> 
> <HEAD>
> <TITLE>Hello, world!</TITLE>
> </HEAD>
> 
> <BODY>
> <H1>Hello, world!</H1>
> </BODY>
> 
> </HTML>
> EOF

Looks OK... Is perl really in /usr/bin/perl? Do "/usr/bin/perl -v" to
check.

> 
> The script works fine when run from shell

Whoa! This is the acid-test. If it runs from the shell, then the shell
must be able to locate /usr/bin/perl. How come that the apache process
which loads it cannot? Are you really sure you are running
/var/www/cgi-bin/test.pl in your login shell and not a copy?

Try this even simpler script (don't forget to make it executable and
test it from the command line):

	#!/bin/sh
	echo "Content-type: text/html\n\n"
	echo "Hello world"

If apache can't find /bin/sh then your in real trouble. If this works,
double-double check the location of perl. There is something funny about
your perl installation.

Rgds,

Owen Boyle.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message