Анимация
JavaScript
|
Главная Библионтека • Запись в журнале. Premature end of script headers. Возможные щмчины. Это сообщение об ощибке охватывает щирокий класс ситуаций, нри которых сценарий первым выводит не заголовок Content-Type, а что-либо другое. Напомним, что этот заголовок выводится функцией header модуля COI. Иногда в файле журнала ошибок может содержаться еще одна уточняющая запись перед или после указанной. Используйте ее для определения причины ошибки. Ваши действия в этом случае таковы. • Убедитесь, что до вызова функции header ваша программа не выводила никакой информации (включая сообщения об ошибках). Такой вывод перед функцией header приводит к возникновению ошибки. Некоторые граммы не используют вызов функции header, а сами организуют первую строку вывода "Content-Type: text/html\n\n" . Многие считают, что такой способ и вызов функции header равносильны, но на самом деле это не так. На различных серверах последовательность символов \п\п может интерпретироваться по-разному, а функция header учитывает эти различия. Проблема может быть связана с зацией вывода. При этом вывод функции system или онератора ~ будет опережать вывод функции header. Для того чтобы избежать этого, перепишите начало программы таким образом: *!/usr/bin/perl -wT use strict; use CGI; pint header; Резюме На этом занятии вы познакомились с основами работы CGI-программ. Вы узнали, чем отличаются между собой статические и динамические Web-страницы. На следующих занятиях будет приведена дополнительная информация по данному вопросу. Вы набрали ващу первую CGI-программу и, надеюсь, заставили ее работать. Руководство по отладке COI-программ, приведенное выше, пригодится вам на следующих занятиях. Вопросы и ответы У меня не установлен модуль CGI. Можно ли без него обойтись? Пожалуй, нет. CO - достаточно сложный протокол. Многие опубликованные программы неудачно пытаются подменить функциональность модуля COI. Они ненадежны с точки зрения проблем безопасности и совместимости, к тому же зачастую не следуют стандартам Internet. На 1б-м занятии, "Сообщество Perl", вы узнали, почему не следует "изобретать велосипед". Тем более что COI - это очень сложный "велосипед", и ни мне, ни вам невозможно изобрести его даже с сотой попытки. Модуль CGI из стандартной установки Perl проверен сотнями и тысячами программистов и признан ими заслуживающим доверия. Используйте его. В приложении описывается, как при необходимости установить модуль для личного пользования. Не существует причин, по которым нельзя использовать модуль CGI. Все примеры этой части требуют наличия установленного модуля CGI. У меня есть копия cgi-lib.pl. Мо1у ли я использовать этот файл вместо модуля CGI? Не нужно этого делать. Функциональность cgi-lib.pl полностью представлена в модуле CGL Библиотека cgi-lib.pl на данный момент устарела и больше не поддерживается. Почему об1чно дня создание Юфамм используют г1, а, скажем, не С или TCL? Некоторые особенности Perl делают его особенно полезным для создания CGI- программ. Вот краткий список этих особенностей. 1. В имеются прекрасные средства для обработки текста. 2. Некоторые особенности Perl (о них вы узнаете позднее) позволяют создавать безопасные CGI-программы. 3. Perl - превосходный интегрирующий язык, позволяющий совместно использовать такие различные технологии, как утилиты операционной системы, средства доступа к базам данных и протокол CGI. 4. удобен в использовании. Moiy ли я отправить вопрос, касающийся Peri и CGI, в группу новостей сошр.lang.perl.misc? Наиболее подходящая для этого группа новостей Но вначале просмотрите список часто задаваемых вопросов, находящийся по адресу http: www.w3.org/CGI/. Семинар Контрольные вопросы 1. может быть написана с использованием: а) язык г1, оболочки UNIX или языка С; б) только на языке Perl; в) на любом языке программирования, который может быть запущен на сервере. 2. Perl появился после Web? б) нет. Ответы 1. Правильный ответ - вариант в). Perl в этом смысле не уникален, просто на нем удобно создавать CGI-программы, 2. Правильный ответ - вариант б). Perl появился в 1987 году, разработал Web в 1991 году. Упражнения • Немного усложните COI-программу "Hello, World!". Выведите текущее время с помощью функции localtime, добавьте цвет и таблицы с помощью дескрипторов HTML. Не бойтесь экспериментировать. Не забывайте, что выводимый программой текст HTML формирует Web-страницу, отображаемую броузером. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 [ 86 ] 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |