CGI scripts fail with 'exec format error'

A CGI script must begin with a valid 'interpreter line' also called 'shebang'. That must be the first line in the file and must start in the first column. It should begin with the two characters '#!', followed by a path to an interpreter, followed by any options.

For example:

#!/usr/bin/php

will run the script through the PHP interpreter at /usr/bin/php.

#!/usr/bin/perl -w

runs the script through /usr/bin/perl with the -w flag to enable warnings.

An 'exec format error' is the result of an invalid interpreter line. That could be because the interpreter line is missing, or indented with a tab, for instance.

  • 102 Users Found This Useful
Was this answer helpful?

Related Articles

My CGI/ASP/PHP script is giving an error when trying to write to a file.

This applies to Linux hosting accounts only.This is almost certainly down to incorrect...

My CGI/Perl scripts are failing with error 500 (Internal Server Error)

These errors are nearly always related to a coding error within the script, or bad variables...

I've installed the formmail script, but my form isn't working. Why?

The Formmail Script is provided via the Fast Name Control Panel, full usage instructions can be...

Why does my script produce a 'file permissions error'?

CGI scripts need certain file permissions to be set if they are to work properly. In general CGI...

Accesses to all files result in '500 Internal Server Error' messages

500 Internal Server Error messages on every page are typically an indication of a misconfigured...