CGI

Вопрос: Что такое CGI?
Вопрос: На каком языке должен быть написан скрипт CGI?
Вопрос: При обращении к сайту я получаю сообщение об Ошибке 500. Что это значит?
Вопрос: У меня не работает скрипт! (типовые ошибки)

В:Что такое CGI?
О: CGI скрипты используются для создания на сайте динамического содержимого. (то есть, таких элементов как, например, счетчики, формы, гостевые книги и многое другое)

В: На каком языке должен быть написан скрипт CGI?
О: На наших серверах поддерживаются скрипты, написанные на shell, Perl, php.

В: При обращении к сайту я получаю сообщение об Ошибке 500. Что это значит?
О: Эта ошибка связана с неправильно написанными либо неверно сконфигурированными скриптами. Подробнее о причине ошибки можно узнать в файле logs/error_log.

В: У меня не работает скрипт! (типовые ошибки)
О:

  1. Убедитесь в правильности указания программы-обработчика скрипта, например для Perl-скрипта первая строка должна быть следующей:
    #!/usr/bin/perl
    
  2. При загрузке Perl-скрипта на сервер по FTP его обязательно нужно передавать как ASCII-файл. (иначе могут возникнуть проблемы из-за несовместимых форматов конца строки и система не сможет определить необходимый интерпретатор) Например, если для загрузки скрипта с помощью программы CuteFTP, то она с настройками по умолчанию передаёт файлы с расширением .pl и .cgi как ASCII. Убедитесь, что в настройках меню "FTP/Transfer Type" установлена опция "auto". Если Вы пользуетесь Far Manager, то перед загрузкой файла последует вопрос о формате передачи файла. В этом случае необходимо поставить галочку напротив опции ASCII.
  3. Установите атрибуты файла скрипта на сервере в значения 755 (соответствует атрибутам: rwxr-xr-x). В CuteFTP нажмите правую кнопку мыши на имени файла и выберите Change File Attribute. В Far Manager выделите имя файла и нажмите Ctrl-A.
  4. Убедитесь, что скрипт не содержит синтаксических ошибок. Если это Perl-скрипт, то его можно проверить прямо на сервере. Зайдите через ssh и наберите команду: perl -c scriptname.pl
  5. Если Ваш скрипт самостоятельно создает файлы, проверьте установлены ли соответствующие права записи в директорию.
  6. Вывод скрипта в ответ на http-запрос должен предваряться строкой :
    Content-type: text/html\n\n
    
    а далее HTML код
  7. Возможно, сначала Ваш скрипт содержал ошибку, затем Вы ее исправили, но по-прежнему видите на экране сообщение об ошибке. Эта проблема может возникнуть в результате кеширования ответа на proxy-сервере вашего провайдера. Попробуйте переименовать скрипт или обратиться к нему с какими-то незначительными параметрами, например:
    http://mydomen.com/cgi-bin/test.pl?tmp=3457
    
    Пример наипростейшего скрипта, выдающего на экран браузера строку "Hello world".
    #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    print "Hello world";
    
    Еще одна характерная ошибка - использование каких-либо библиотек, отсутствующих на нашем сервере. Список установленных библиотек доступен в разделе Сервера панели управления. В случае отсутствия нужных библиотек создайте заявку в панели управления или обратитесь в службу поддержки, мы постараемся Вам помочь.

    К списку вопросов