В настоящее время мне нужно создать веб-сервер в Apache2, который состоит из сети входа / регистрации, и мне нужно вызвать сценарий CGI для проверки входных данных от пользователя. Что ж, когда я вызываю сценарий с помощью кнопки отправки, сценарий CGI отображается как обычный текст, и я не знаю, что еще делать, чтобы исправить это.
Я попытался раскомментировать модули CGI в /etc/apache2/httpd.conf, установить каталог по умолчанию для сценариев CGI, раскомментировать AddHandler для CGI и изменить значения параметров в моем каталоге localhost и в каталоге CGI, добавив ExecCGI в них всех. Но он по-прежнему не работает, он просто отображается как обычный текст.
P.S .: Я последовал этому руководству (http://httpd.apache.org/docs/2.2/howto/cgi.html), а также искал решение здесь, в StackOverflow, но у меня ничего не работало.
Обновлено: Также спасибо за помощь, если вы это сделаете :)
@JimGarrison У меня нет этого модуля «LoadModule cgid_module modules / mod_cgid.so», но я думаю, что он мне не нужен, потому что я не собирал свой Apache с поддержкой общих модулей. Если нет, то не знаю, что это может быть.
Вы встраивали поддержку CGI как статический модуль? Это вообще возможно? Без поддержки CGI где-то в системе он не будет выполнять программы CGI.
Ну, я не знаю, включение этого модуля только для такой установки. Также я использую Apache2 в Mac OS High Sierra, поэтому у меня нет тех же каталогов, что и те, которые показаны в руководстве от Apache. Не знаю, предполагает ли это какие-нибудь проблемы ...
Опять же, этот вопрос относится к Ошибка сервера. Не забудьте также включить всю информацию, которую вы предоставили, в комментарии.
Какая операционная система? Какой-нибудь Unix / Linux? Файл исполняемый? Но я согласен, Ошибка сервера или даже лучше Суперпользователь - лучшее место для этого вопроса.






Проблема заключалась в конфигурации каталога, поэтому я сохранил файл http.config по умолчанию, в котором есть предварительно настроенные ScriptAlias для каталога / cgi-bin / в следующий каталог:
/Library/WebServer/CGI-Executables
Затем я включил модуль CGI, раскомментировав строку (удалив '#' перед строкой) в файле httpd.conf из apache2:
LoadModule cgi_module libexec/apache2/mod_cgi.so
Наконец, я сохранил файл, а затем перезапустил сервер Apache2 с помощью команды:
sudo /usr/sbin/apachectl restart
Затем я просто вставил сценарий .cgi в каталог CGI-Executables, установив права доступа к файлу как chmod a + x.
Чтобы запустить скрипт сейчас, вам просто нужно получить доступ
localhost/cgi-bin/script.cgi
В любом случае спасибо за помощь!
Это вопрос о конфигурации Apache, поэтому он принадлежит Ошибка сервера. Вернитесь к документации Apache по включению CGI очень осторожно. Ясно, что вы пропустили шаг.