|
3.3.
CGI-SCRIPT Troubleshooting Guide
Below
are solutions to some of the more common CGI script problems,
in question and answer format.
When
I activate my CGI program, I get back a page that says
"Internal Server Error. The server encountered an
internal error or misconfiguration and was unable to complete
your request."
This
is generally caused by a problem within the script. Log in via
Telnet and test your script in local mode to get a better idea
of what the problem is. To do this, go into the directory in
which your script is located, then execute the script. To
execute the script, you can do it by two ways:
1)
Type "perl myscript.pl" (Perl being the language
interpreter in this case).
2)
Or simply type "myscript.pl" alone, that will work
if the first line is well written to indicate the location of
Perl.
The
first one is useful to see if there's any error IN your
script. The second one is useful to test if your "calling
line" (the first line of the script) is okay, i.e. if you
entered the right location of Perl.
I
am being told "File Not Found," or "No Such
File or Directory."
Upload
your Perl or CGI script in ASCII mode, not binary mode.
When
I test my Perl script in local mode (by Telnet), I have the
following error: "Literal @domain now requires backslash
at myscript.pl line 3, within string. Execution of myscript.pl
aborted due to compilation errors."
This
is caused by a misinterpretation by Perl. You see, the
"@" sign has a special meaning in Perl; it
identifies an array (a table of elements). Since it cannot
find the array named domain, it generates an error. You should
place a backslash (\) before the "@" symbol to tell
Perl to see it as a regular symbol, as in an email address.
I
am getting the message "POST not implemented."
You
are probably using the wrong reference for cgiemail. Use the
reference /cgi-bin/cgiemail/mail.txt. Another possibility is
that you are pointing to a cgi-bin script that you have not
put in your cgi-bin directory. In general, this message really
means that the web server is not recognizing the cgi-bin
script you are calling as a program. It thinks it is a regular
text file.
It's
saying I don't have permission to access / (1)
This
error message means that you are missing your index.htm file.
Note that files that start with a "." are hidden
files. To see them, type ls -al. If you wish to FTP this file
in, go to the home/[[yourdomain]] directory.
It's
saying I don't have permission to access/
(2)
Your
cgi-script is probably set as world writable. Our cgi
scecurity mechanism prevents execution of such cgi-scripts. To
ensure that the permssion setting for your cgi-script is
correct issue following command.
"chmod
755 yourcgiscript " in the directory where your
cgi-script is located.
Also
the directory in which your script is located must be set to
same permission setting. Use same method as described just
above.
|