Как выполнить скрипт оболочки в cgi-bin? - PullRequest
1 голос
/ 03 сентября 2010

Хорошо, во-первых, я программист PHP, но я никогда ничего не делал с CGI и не знаю, что это такое. Я знаю, что это расшифровывается как Common Gateway Interface, но я не знаю, что он делает и для чего.

Мне только что сказали, что я могу загрузить сценарий оболочки в папку cgi-bin и выполнить его.

Я сделал сценарий оболочки myscript.sh и загрузил его в папку cgi-bin. Первое, что я заметил, было то, что моя папка cgi-bin - это брат моего корневого каталога, а не ребенок. Так я не знаю, как бы я получил к нему доступ?

Итак, я создал каталог под моим корнем с именем cgi-bin2 и поместил туда свой скрипт (и изменил их на 755) Затем я получил доступ к нему из своего браузера, и все, что он сделал, это загрузил файл.

Я что-то упустил?

1 Ответ

2 голосов
/ 03 сентября 2010

CGI должен отправить заголовок Content-Type:

#!/bin/sh
printf "Content-Type: text/plain\n\n"
your_commands_here

Сохранить как anything.sh (расширение не имеет значения) в папке cgi-bin и chmod 755.cgi-bin не обязательно должен быть дочерним элементом вашей общедоступной html-папки, это может быть псевдоним .

...