Работа с CGI скриптами

Работа с CGI скриптами


Для работы с CGI скриптами у Вас должен быть соответствующий тарифный план.

Активировать возможность работы со скриптами можно в панели управления хостингом, раздел Домены — напротив вашего домена есть кнопка Настройки, там вы найдете раздел Использовать CGI для скриптов и сможете выбрать, что вам необходимо.

Некоторые нюансы
  • Права на файлы должны быть не ниже 755
  • Файлы необходимо загружать только в бинарном режиме


Работа с C/C++


Компилировать бинарные файлы необходимо непосредственно на хостинге. Для компилирования вам понадобится тарифный план с SSH.

Пример компилирования файла из исходника на сервере:

g++ -o test.cgi test.cpp

— компилирует C++ исходный код. GCC же поможет в компилировании исходного кода написанного на С.

Простейший пример test.cpp:

#include <stdio.h>
int main(void) {
printf("Content-Type: text/plain;charset=us-ascii\n\n");
printf("Hello world\n\n");
return 0;
} 


Работа с Perl


Работу Perl можно проверить простым скриптом. Создайте файл test.pl и пропишите в него код:

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);

print "Content-Type: text/html\n\n";
print "Perl работает!!!";

Обратите внимание на то, что каждая строка (кроме первой) должна заканчиваться точкой с запятой (;).

В заголовке каждого Perl-скрипта находится так называемая «hash-bang» (знак решетки «#» и восклицательный знак «!») строка:

#!/usr/bin/perl (без пробелов).

Запомните требования, которые должны выполняться «hash-bang» строкой
  • Она должна быть первой в скрипте
  • Решетка # должна быть первым символом на строке. Пробелы между # и ! не допускаются
  • Нужно указывать полный путь, а не только имя запускаемого файла



Проверить работу Ruby можно скриптом — создайте файл test.rb с правами 755 в него впишите код:

#!/usr/bin/ruby

print "Content-Type: text/html\n\n";
print "RUBY работает!!!";

$k=0;
for i in (0..1000000)
$k+=1
end 


Работа с Python


Проверить работу Python можно скриптом — создайте файл test.py с правами 755 в него впишите код:

#!/usr/bin/python

print "Content-Type: text/html"
print
print "PYTHON работает!!!"
k = 0
for i in range(1000000):
k = k + 1
Важно! В случае возникновения 500 ошибки в python, проверьте табуляцию.