Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> компиляция скрипта у хостера, непонятные ошибки 
:(
    Опции темы
Forza
Дата 11.10.2004, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 12.9.2004

Репутация: нет
Всего: 2



Сегодня решил выложить хостеру (valuehost.ru) свой первый публичный скрипт, но не тут-то было. Он его не компиляет. При этом он не хочет компилять даже такой скрипт:

Код
#!/usr/bin/perl
use CGI qw(-no_xhtml :standard);
print header(), start_html();
print "testing";
print end_html();
exit(0);


или без использования CGI.pm:

Код
#!/usr/bin/perl

print <<TEST_PAGE;
Content-Type: text/html; charset=ISO-8859-1

<!DOCTYPE html
       PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en-US"><head><title>Untitled Document</title>
</head><body>testing</body></html>
TEST_PAGE

exit(0);


В логах пишут банальное Premature end of script headers:.
На локалхосте всё работает на "ура".

Может, я не указываю что-то важное, и мои настройки это пропускают, а их компилятор - нет. В чём может быть дело?
PM MAIL   Вверх
GoodBoy
Дата 11.10.2004, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 4
Всего: 83



проверь:

1. кодировку (должна быть Unixовая)
2. права (755)


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Forza
Дата 11.10.2004, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 12.9.2004

Репутация: нет
Всего: 2



GoodBoy
Цитата
1. кодировку (должна быть Unixовая)

Где её указать?
И вообще, для чего там она, если у меня сейчас не компиляются скрипты, состоящие только из латиницы?
Цитата
2. права (755)

Сделал. Не помогло.

Пишет всё то же про Premature end of script headers:.

Может быть, я пропустил что-то необязательное? Как, например, тэги <HTML> в html-страничках: поставишь их или нет, IE всё равно одинаково страницу отобразит.

Это сообщение отредактировал(а) Forza - 11.10.2004, 15:21
PM MAIL   Вверх
ElectricalStorm
Дата 11.10.2004, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: нет
Всего: 9



поставь
1. use warnings;
2. use strict;
3. use CGI::Carp qw(fatalsToBrowser);
4. набери witch perl и сравни со своей строкой...
5. смотри логи апача какая там ашипка написана...

Это сообщение отредактировал(а) ElectricalStorm - 11.10.2004, 15:34


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
GoodBoy
Дата 11.10.2004, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 4
Всего: 83



Forza
Цитата(Forza @ 11.10.2004, 16:20)
Где её указать?

при переносе скрипта на хостинг указывай ASCII-mode или текстовый режим.


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Forza
Дата 11.10.2004, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 12.9.2004

Репутация: нет
Всего: 2



GoodBoy,

Цитата
при переносе скрипта на хостинг указывай ASCII-mode или текстовый режим


Всё заработало. Спасибо. adv/72.gif Дело действительно было в комбинации прав + кодировки.
Эх, что же я до сих пор 100 сообщений сюда не нафлудил. smile.gif

ElectricalStorm,

представь, что у них warnings.pm даже не установлен.

PM MAIL   Вверх
GoodBoy
Дата 11.10.2004, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 4
Всего: 83



Цитата(Forza @ 11.10.2004, 18:25)
Дело действительно было в комбинации прав + кодировки

Это всегда так, когда переносишь с ВИН хостинга под *НИКС... Несовпадение кодировки - самая частая ошибка!!! Следующие по частоте встречания - права и регистр символов!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Forza
Дата 12.10.2004, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 12.9.2004

Репутация: нет
Всего: 2



ElectricalStorm, забыл тогда спросить, что ты имел ввиду вот этой строкой:

4. набери witch perl и сравни со своей строкой...

Где это надо было набирать и с чем сравнивать?

p.s. Проблема решена, но лишние знания мне не помешают. smile.gif
PM MAIL   Вверх
GoodBoy
Дата 12.10.2004, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 4
Всего: 83



Цитата(Forza @ 12.10.2004, 10:50)
набери witch perl и сравни со своей строкой

witch perl - вернет тебе путь к интерпретатору Перла в системе, это тот путь, который должен быть указан в первой строке скрипта!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
YURIC
Дата 19.10.2004, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



#!/usr/bin/perl
print "Content-type:  text/html\n\n";
print <<TEST_PAGE;
Content-Type: text/html; charset=ISO-8859-1
<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en-US"><head><title>Untitled Document</title>
</head><body>testing</body></html>
TEST_PAGE;

exit(0);

Красным выделены твои ошибки

Это сообщение отредактировал(а) YURIC - 19.10.2004, 15:58
PM MAIL   Вверх
GoodBoy
Дата 19.10.2004, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 4
Всего: 83



YURIC

Ну и где там его ошибки????? В его скрипте, который ты "поправил" все корректно!!!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
YURIC
Дата 19.10.2004, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



GoodBoy

Код

#!/usr/bin/perl

print <<TEST_PAGE;
Content-Type: text/html; charset=ISO-8859-1

<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en-US"><head><title>Untitled Document</title>
</head><body>testing</body></html>
TEST_PAGE

exit(0);


Код

#!/usr/bin/perl
print "Content-type:  text/html\n\n";
print <<TEST_PAGE;
Content-Type: text/html; charset=ISO-8859-1
<!DOCTYPE html
 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en-US"><head><title>Untitled Document</title>
</head><body>testing</body></html>
TEST_PAGE;

exit(0);




print "Content-type: text/html\n\n";


Во превых нет строки:

print "Content-type: text/html\n\n";

во вторых

необходимо тут:

print <<TEST_PAGE;

убрать точку с запятой, а тут:

</head><body>testing</body></html>
TEST_PAGE;

поставить.


При наличии таких ошибок на многих хотерах скрипт может не пахать!


а вообще я бы написал этот скрипт так:

Код
#!/usr/bin/perl
print "Content-type:  text/html\n\n";
print <<TEST_PAGE
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ru-RU"><head><title>Untitled Document</title>
</head><body>testing</body></html>
TEST_PAGE;

exit(1);


100% пашет как трактор!!!

Это сообщение отредактировал(а) YURIC - 19.10.2004, 16:23
PM MAIL   Вверх
GoodBoy
Дата 19.10.2004, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 4
Всего: 83



Цитата(YURIC @ 19.10.2004, 17:13)
Во превых нет строки:

print "Content-type: text/html\n\n";

во первых она у него есть вот тут:
Код
print <<TEST_PAGE;
Content-Type: text/html; charset=ISO-8859-1

<!DOCTYPE html ...


Цитата(YURIC @ 19.10.2004, 17:13)
во вторых

необходимо тут:

print <<TEST_PAGE;

убрать точку с запятой

Во вторых точка с запятой там НУЖНА!!!!

Цитата(YURIC @ 19.10.2004, 17:13)
а тут:

</head><body>testing</body></html>
TEST_PAGE;

поставить.

А тут - НЕТ!!!!!!!!!!

Читай мануалы!!!!!!!

В частности:

Цитата
В Перл есть возможность вставлять текст документа прямо в программу. Так называемый "here-doc" (здесь текст) метод. Обозначается символами << за которым идет слово-ограничитель.

Пример:

        print <<EOF; # Все строки до EOF - текст для печати.

        Эй вы трое, идите двое сюда!

                Полковник Савонькин.
        EOF



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
korob2001
Дата 21.10.2004, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 13
Всего: 61



YURIC
Не одна ошибка указанная вами не является ошибкой. Всё корректно.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.