|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serg 2:5020/400 26 Feb 2003 16:23:15 To : Renat Araslanow Subject : Вопросы чайника -------------------------------------------------------------------------------- Привет, Renat! Wed Feb 26 2003 10:34, Renat Araslanow wrote to Daniil Uspensky: RA> Бочку пива|колы тебе Daniil ! RA> Однажды 25 Feb 03 22:55, Daniil Uspensky писал All: DU>> Есть два простых скрипта. Оба они запускаются на сервере. DU>> Вопрос первый. После их запуска в логе вижу следующее: DU>> === Begin of "error.log" === DU>> [Tue Feb 25 00:34:31 2003] [error] [client 195.177.120.98] Premature end DU>> of DU>> script headers: /home/spbpo/public_html/cgi-bin/db.cgi [Tue Feb 25 DU>> 00:37:38 2003] [error] [client 195.177.120.98] Premature end of script DU>> headers: /home/spbpo/public_html/cgi-bin/mail.cgi DU>> === End of "error.log" === DU>> Вопрос второй. Скрипт mail.cgi должен отправлять почту по SMTP, но когда DU>> его запускаю, сервер говорит "500 Internal server error". Письмо же на DU>> самом деле отправляется. Сам скрипт я нашел в SMTP.pm. DU>> Вот сами скрипты: DU>> === Begin of "db.cgi" === DU>> #!/usr/bin/perl -w -I/home/spbpo/perl_lib DU>> use XBase; DU>> my $table = new XBase "../BUKINIST.DBF" or die XBase->errstr; DU>> print "Content-type:text/html\n\n"; RA> ^пробел забыл. RA> на самом деле здесь всего один вопрос .. и один ответ */_=)_/* Hе удивлюсь, если он ответит, что это не помогло. Ибо (щас попробовал), даже если написать print "Vasy-Pupkin:text/html\n\n", то она не ругнется. Главное, что бы было "\n\n" - ибо после этой последовательности символов заканчиваются заголовки. Hо это больше к вопросу о cgi и идти надо в ru.cgi.perl. У него же скорее всего именно перловская проблема. Рекомендация: если видишь Premature end of script в логах, то возможных проблем 3: 1) Hету #!/usr/bin/perl или вместо него какой-то извратъ (не знаю, как у тебя, но я уже 8 хостингов менял и везде было достаточно лишь #!/usr/bin/perl). 2) Hету print "Content-type: text/html\n\n"; - это должно быть обязательно и это неотъемлимый атрибут. Я, обычно, пишу даже так: print "Content-Type: text/html\n"; print "Pragma: no-cache\n"; # changetexthere HTTP/1.0 changetexthere print "Cache-Control: no-cache\n\n"; # changetexthere HTTP/1.1 3) Вот это наиболее вероятный - 70% новичков встают на эти грабли (я был в их числе). Вместо того, что бы после строки ставить \n, ставят \r\n (по-моему так?). Тут могу только одно посоветовать - не пользуйся блокнотом. А точнее пользуйся спец. прогами - например perl builder (там есть в опциях соотв. настройка). Как проверить? Если у тебя винда, то загрузь в блокнот свой скрипт и посмотри - если не увидишь ничего необычного, то значит работать не будет. Весь текст должен слиться в 1 строку и переноситься на след. только за счет малой ширины текстовой области. Если это не помогло... тогда: 4) Проверь, у него доступ стоит 750? (755). Если нет (тогда скорее всего - 644), то делай так: устанавливай windows commander. Лезь в ftp, в папку со скриптом. Там пишешь (да-да, именно пишешь в командной строке, стоя курсором на ftp): "chmod 750 script_name.pl". Как проверить: тоже лезешь в win com, встаешь на файл и в строке с описанием (над командной, там еще дата, размер), должно стоять число. Если это -750 - то все ок (хотя может должно и 755). ЗЫ: Если у тебя все равно ничего не заработает, отпиши об этом на danilovm@bk.ru - тут это полуоффтопик и лучше модератора не злить:). ЗЗЫ: 2Модератор - не совсем оффтопик, на сколько я представляю (а представляю я плохо) - ошибка на перенос строки символом \r\n - чисто перловская особенность. Поэтому с этим лучше идти не в ru.cgi.perl а в ru.perl.chainik (вроде раньше такой был?). Hо если и оффтопик - не обессудь:). Просто вспоминаю, как я что бы получить эту инфу рыл весь тырнет, все источники и все равно ничего не добивался. Пускай уж он не тратит зря время:). --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/166791f367833.html, оценка из 5, голосов 10
|