скрипт cgi не выполняется - PullRequest
3 голосов
/ 19 сентября 2011

У меня есть perl.cgi файл с содержанием:

#!/usr/bin/perl 
print "Content-type: text/html\n\n";
print "<h1>Hello World</h1>\n";

Я сделал его исполняемым. (chmod a+x perl.cgi)

Затем я создал новый файл perl.htm в том же каталоге. Который имеет следующие данные:

Content-type: text/html
<p><a href="perl.cgi">RUN perl.cgi</a></p>

Когда я запускаю perl.htm в своем браузере, я получаю вывод:

Content-type: text/html
RUN perl.cgi

Когда я нажимаю RUN perl.cgi, открывается другая страница, и там вывод:

#!/usr/bin/perl 
print "Content-type: text/html\n\n";
print "<h1>Hello World</h1>\n";

т.е. perl.cgi не выполняется. Отображается только содержимое файла.

РЕДАКТИРОВАТЬ: Из ответов и комментариев я узнал, что мне придется настроить мой веб-сервер (apache) для запуска сценариев cgi. Как я могу это сделать? Дай мне знать.

Ответы [ 4 ]

11 голосов
/ 19 сентября 2011

Похоже, что Apache не настроен для запуска * .cgi файлов:

AddHandler cgi-script cgi pl
<Directory /path/to/cgi/files>
    Options +ExecCGI
</Directory>
7 голосов
/ 20 декабря 2013

Убедитесь, что вы загружаете модуль CGI в файл httpd.conf:

LoadModule cgi_module modules/mod_cgi.so или LoadModule cgi_module modules/mod_cgid.so в зависимости от того, какую версию Apache вы используете.

Вы также можете прочитать о дополнительных решениях для Динамический контент с CGI .

3 голосов
/ 29 декабря 2011

Проблема была решена. Я вообще не пользовался сервисом httpd, открывал из файла: // URL.

Perl-скрипт не выполняется в форме HTML

0 голосов
/ 19 сентября 2011

Вам необходимо настроить веб-сервер таким образом, чтобы он выполнял файлы * .cgi (или, что более обычно, все файлы в определенном каталоге), а не просто отправлял их в браузер, как это делает файлы .html.

Как это сделать, зависит от вашего сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...