Нуждаюсь в помощи запуская скрипты CGI на Apache Mac OS X

2 ответа

Поместите "first.txt" в тот же каталог. Видишь? Если это так, то вы знаете, что проблема связана с тем, что это сценарий CGI, а не какая-то другая проблема.

Также попробуйте следующее:

  • Поместите файл сюда: /opt/local/apache2/cgi-bin/first.cgi
  • chmod + x / opt / local / apache2 / cgi-bin / first.cgi
  • chmod 755 /opt/local/apache2/cgi-bin/first.cgi
  • Затем попробуйте этот URL: http: //localhost/cgi-bin/first.cgi

Если это не работает, проверьте реальность, что Perl находится там, где вы думаете:

  • / usr / bin / perl --version
2
ответ дан 4 December 2019 в 12:44

Следующие шаги сработали для меня на High Sierra с Apache 2.4

(на основе следующего отличного руководства: http://www.cgi101.com/book/connect/ mac.html , обновлен с дополнительными шагами для различий в версиях)

1) Переместите файл в:

/Library/WebServer/CGI-Executables

2) Убедитесь, что файл имеет разрешения на выполнение:

ls -l  /Library/WebServer/CGI-Executables

Если не используется:

chmod -x  /Library/WebServer/CGI-Executables/myfile.cgi

3) Раскомментируйте следующие строки в /etc/apache2/httpd.conf

AddHandler cgi-script .cgi .pl

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

LoadModule cgi_module libexec/apache2/mod_cgi.so

4) Также измените раздел Directory "/ Library / WebServer / CGI-Executables" на:

 <Directory "/Library/WebServer/CGI-Executables">
 AllowOverride None
 Options ExecCGI
 Require all granted
 </Directory>

5) Затем перезапустите Apache:

 sudo apachectl -k restart

Почти с каждым с новой версией Mac OS изменения будут потеряны, и вам нужно будет повторить работу и даже выполнить другие действия, чтобы исправить это. Ваш лучший друг - журналы Apache, расположенные в / var / log / apache2 / (/ var / log / apache2 / error_log)

1
ответ дан 4 December 2019 в 12:44

Теги

Похожие вопросы