CGI
В:Что такое CGI?
О: CGI скрипты используются для создания на сайте динамического содержимого. (то есть, таких элементов как, например, счетчики, формы, гостевые книги и многое другое)
В: На каком языке должен быть написан скрипт CGI?
О: На наших серверах поддерживаются скрипты, написанные на shell, Perl, php.
В: При обращении к сайту я получаю сообщение об Ошибке 500. Что это значит?
О: Эта ошибка связана с неправильно написанными либо неверно сконфигурированными скриптами.
Подробнее о причине ошибки можно узнать в файле logs/error_log.
В: У меня не работает скрипт! (типовые ошибки)
О:
- Убедитесь в правильности указания программы-обработчика скрипта, например для Perl-скрипта первая строка должна быть следующей:
#!/usr/bin/perl
- При загрузке Perl-скрипта на сервер по FTP его обязательно нужно передавать как ASCII-файл. (иначе могут возникнуть проблемы из-за несовместимых форматов конца строки и система не сможет определить необходимый интерпретатор)
Например, если для загрузки скрипта с помощью программы CuteFTP, то она с настройками по умолчанию передаёт файлы с расширением .pl и .cgi как ASCII. Убедитесь, что в настройках
меню "FTP/Transfer Type" установлена опция "auto". Если Вы пользуетесь Far
Manager, то перед загрузкой файла последует вопрос о формате передачи файла. В этом случае необходимо поставить галочку
напротив опции ASCII.
- Установите атрибуты файла скрипта на сервере в значения 755 (соответствует атрибутам: rwxr-xr-x).
В CuteFTP нажмите правую кнопку мыши на имени файла и выберите Change File Attribute. В Far Manager выделите имя файла и нажмите Ctrl-A.
- Убедитесь, что скрипт не содержит синтаксических ошибок. Если это Perl-скрипт,
то его можно проверить прямо на сервере. Зайдите через ssh и наберите команду:
perl -c scriptname.pl
- Если Ваш скрипт самостоятельно создает файлы, проверьте установлены ли соответствующие права записи в директорию.
- Вывод скрипта в ответ на http-запрос должен предваряться строкой :
Content-type: text/html\n\n
а далее HTML код
- Возможно, сначала Ваш скрипт содержал ошибку, затем Вы ее исправили, но по-прежнему видите на экране сообщение об ошибке.
Эта проблема может возникнуть в результате кеширования ответа на
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";
Еще одна характерная ошибка - использование каких-либо библиотек, отсутствующих на нашем сервере. Список установленных библиотек
доступен в разделе Сервера панели управления.
В случае отсутствия нужных библиотек создайте заявку
в панели управления или обратитесь в службу поддержки, мы постараемся Вам помочь.
К списку вопросов
|