nataraj: (Default)
[personal profile] nataraj
Имеем апач (коммуниверный, но это не очень важно)...
там есть:
<Directory /cmw/scripts>
        Options -Indexes +ExecCGI
        SetHandler  perl-script
        PerlHandler Apache::Registry
</Directory>
так вот, в одном инстансе, моем, собранным под дебианом, тестовый скрипт вида

#!/usr/bin/perl
use strict;
use Apache;
my $r = Apache->request;
$r->print("Content-type: text/html\n\n");
$r->print("Hi There! Test 2");
print ',3,4,5';

выдает в браузер 2,3,4,5

А вот в другом инстансе, на rpg.ru такое же, выдает только двойку. А там стоит восьмая федора.

Как сделать грязный хак, чтобы все заработало, мне уже понятно...

Вопрос в том, почему оно работает по разному в разных местах. Кто-нибудь сталкивался с таким? Куда покопать?

Crossposted at LOR: http://www.linux.org.ru/view-message.jsp?msgid=3162861 желающие посмотреть как в меня кидают какашками могут туда сходить ;-)

Date: 2008-10-11 07:23 am (UTC)
From: [identity profile] alexkuklin.livejournal.com
эээ.. первое у тебя - $r->print
второе - просто print

это значит, у тебя stdout на rpg.ru не попадает к клиенту, а попадает только то, что было отправлено через $r

Date: 2008-10-11 07:31 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
алекс... я достаточно квалифицированный перл разработчик, и мне не надо расшифровывать мой код на таком уровне.

В том то и проблема что в одном случае STDOUT клиенту попадает, а в другом нет. Весь вопрос -- почему...

Date: 2008-10-11 07:34 am (UTC)
From: [identity profile] alexkuklin.livejournal.com
1) а слабо было так и написать?
2) а ты уверен, что mod_perl обязан stdout отдавать клиенту? Насколько я помню, там положено отдавать контент именно через $r

Date: 2008-10-11 07:46 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
1. Что написать?

2. до последнего момента оно прекрасно работало, пока некто не взгромоздил это все на FC8

Date: 2008-10-11 07:59 am (UTC)
From: [identity profile] beldmit.livejournal.com
Ну значит, наконец исправили...

Да, Алекс с утра оказался существенно внимательнее меня.

Date: 2008-10-11 08:20 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Что исправили? где исправили?

Date: 2008-10-11 11:04 am (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
А явно сбросить буфер stdout или установить для stdout безбуферный вывод?

Date: 2008-10-11 11:08 am (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Кстати, попробовать это сделать в обеих случаях. Есть подозрение, что это приведёт к исчезновению "3,4,5" и в первом случае.

Ещё посмотреть глазами на результат HTTP-запроса, не появилось ли "3,4,5" до "Content-type:".

Date: 2008-10-12 09:38 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
$| = 1; ?
Пробовал. Не помогает.

Date: 2008-10-12 10:04 am (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
Не знаю уж как это в Перле делается, не разбираюсь я в этой тарабарщине. ;)

Попробуй явно включать/выключать буфферизацию в обоих случаях, и не только для stdout, но и для Apache->request. Не нашёл я какой пакет нужно устанавливать, чтобы посмотреть доки по этому Apache.

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 21st, 2026 08:54 am
Powered by Dreamwidth Studios