Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Error


Автор: PROme 23.7.2003, 01:33
Что значит: "Premature end of script headers error"

Автор: Vaulter 23.7.2003, 01:40
PROme
код то есть?

Автор: PROme 23.7.2003, 02:11
Цитата
код то есть?

#!/usr/bin/perl
print "Text";

Автор: Vaulter 23.7.2003, 02:46
PROme
а причем тут PHP?

Автор: PROme 23.7.2003, 02:49
Цитата
а причем тут PHP?

Perl PHP какая разница, у меня громадный проект ждет, а на серваке фигня не идет... SOS!!!

Автор: MuToGeN 23.7.2003, 09:17
Цитата
Perl PHP какая разница
А какая разница между тортом и молотком?

Цитата

#!/usr/bin/perl
print "Content-type: text/html\n\n\";
print "Text";

Заголовки, короче, надо отсылать. Как минимум, Content-type.

Автор: MuToGeN 23.7.2003, 09:19
Модератор: перемещено из PHP в Perl

Автор: PROme 23.7.2003, 11:15
Цитата
Заголовки, короче, надо отсылать. Как минимум, Content-type.

Чтоconfused.gif

Автор: MuToGeN 23.7.2003, 11:22
Цитата
Чтоconfused.gif
Цитата
http-заголовок - это специальный блок данных, автоматически выдаваемый Web-сервером броузеру перед телом HTML-страницы
Короче, см. мой постинг чуть по-выше.

Автор: MuToGeN 23.7.2003, 11:28
По HTTP данные от сервера клиенту передаются примерно в таком виде:
Цитата
заголовок_1\n
заголовок_2\n
заголовок_3\n
...
заголовок_N\n
\n - пустая строка, отделяющая заголовки от данных
<html>
<head>
итд...
PHP высылает Content-type автоматически (хотя, если указать его вручную, то отослано будет именно то, что ты указал), в то время как Perl этого не делает - надо прописывать заголовки всегда самому.

Автор: PROme 23.7.2003, 12:18
По-моему у меня проблема с переносом строки. Как Вин перекодировать в Юникс переносconfused.gif

Автор: MuToGeN 23.7.2003, 12:52
в вин - \r\n, в unix - \n. сделовательно, убери \r с конца каждой строки. Обычно FTP сервера сами это делают (сравни размер фаила в виндах с размером, который выдает FTP, если не совпадает на n байт, где n = кол-во строк, то дело не в строках)

Автор: PROme 23.7.2003, 13:50
Цитата
в вин - \r\n, в unix - \n. сделовательно, убери \r с конца каждой строки.

Как и чем это можно сделатьconfused.gif

Автор: MuToGeN 23.7.2003, 14:14
Прогой. Своей или чьей-то еще.

Автор: PROme 23.7.2003, 14:30
Цитата
Прогой. Своей или чьей-то еще.

Так какой именно это можно сделать?

Автор: MuToGeN 23.7.2003, 15:00
Код
<?
$fp=fopen($_REQUEST["filename"],"r");
$file=fread($fp,filesize($_REQUEST["filename"]));
fclose($fp);
$fp=fopen($_REQUEST["filename"],"w");
for($i=0;$i<strlen($file);$i++)
 if($file[$i]!="\r")
   fwrite($fp,$file[$i]);
fclose($fp);
echo "$_REQUEST[filename] converted successfully.<br />\n";
?>
Набросал на скорую руку на PHP.
Способ применения: вываливаешь на сервер и пишешь в адр. строке браузера http://www.server.com/путь/этот_скрипт.php?filename=имя_фаила

Автор: Unregistered 30.7.2003, 09:26
Попробуй при помощи FTP клиента открыть скрипт на редактирование прогой Ultra Edit. Сделай какие нибудь несущественные изменения, например добавь пустую строку, сохрани скрипт и закачай обратно. Мне этот способ помог дважды на разных хостингах.

Автор: Lonely Ranger 7.10.2003, 09:14
Да простым редактором под *nix. Я использую mc.

Автор: Lonely Ranger 7.10.2003, 09:15
Я хотел сказать, что просто убираешь последние символы в первой строке. В других они не так критичны для скрипта. А вот первая !!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)