Я хочу выполнить 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?
Веб-сервер Apache не может запустить monitorCGI.cgi
script, потому что он не может найти интерпретатор для использования.
Это означает, что он не распознает monitorCGI.cgi
как скомпилированный двоичный файл и поэтому обрабатывает его как сценарий, и поэтому хочет, чтобы первая строка была #! /path/to/interpreter
для какого-то переводчика.
Поскольку вы утверждаете, что сценарий представляет собой скомпилированный двоичный файл, но Apache не распознает его как таковой, он, вероятно, скомпилирован для неправильной архитектуры.
Попробуйте команду file monitorCGI.cgi
чтобы узнать, к какому типу файла относится ваша ОС. Возможно, он скомпилирован для 64-битной системы, если вы используете 32-битную систему, или это исполняемый файл Windows, когда вы используете сервер Linux. В любом случае вам нужно найти совместимый двоичный файл, чтобы он работал. Попробуйте запустить сценарий непосредственно из командной строки, чтобы убедиться, что он может выполняться, перед запуском через Apache.