Как выполнить CGI на моем сервере?
Я хочу выполнить CGI на моем сервере, но у меня есть эта проблема:
run-detectors: unable to find an interpreter for /media/FTP/outils/cgi-bin/monitorCGI.cgi, >refererer: http://outils.mynd/backburner.
Premature end of scripts header: monitorCGI.cgi, referer: >http://outils.mynd/backburner.
мой apache2.conf
выглядит так:
<location /media/FTP/racine/cgi-bin/>
Options +ExecCGI
AddHandler cgi-script .cgi
</Location>
Мой Vhost выглядит так:
>VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName SERV-FTP
DocumentRoot /media/FTP
Directory /media/FTP/racine/cgi-bin>
Options +Indexes FollowSymLinks MultiViews +ExecCGI
AddHandler cgi-script cgi
Order allow,deny
allow from all
/Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Должен ли я связать вино для выполнения этого CGI?
1 ответ
Веб-сервер Apache не может запустить monitorCGI.cgi
сценарий, потому что он не может найти переводчика для использования.
Это означает, что он не распознает monitorCGI.cgi
как скомпилированный двоичный файл, и поэтому рассматривает его как скрипт и поэтому хочет, чтобы первая строка была #! /path/to/interpreter
для некоторого переводчика.
Поскольку вы утверждаете, что скрипт является скомпилированным двоичным файлом, но Apache не распознает его как таковой, он, вероятно, скомпилирован для неправильной архитектуры.
Попробуйте команду file monitorCGI.cgi
чтобы увидеть, к какому типу файлов относится ваша ОС. Возможно, он скомпилирован для 64-битной системы, когда вы используете 32-битную систему, или это исполняемый файл Windows, когда вы используете сервер Linux. В любом случае вам нужно найти совместимый двоичный файл для его работы. Попробуйте запустить скрипт непосредственно из командной строки, чтобы убедиться, что он может выполняться, прежде чем запускаться через Apache.