ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Встроенный перл в ssi


  • To: nginx-ru@xxxxxxxxx
  • Subject: Встроенный перл в ssi
  • From: Vladimir Aliokhin <avovik@xxxxxxxxx>
  • Date: Mon, 22 Jun 2009 15:45:47 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=/qSqkIsnupI+9ug7jBum5WI3O900vGTGRWydwndSMOE=; b=SDCNY3qGstwqjRnrUOQKDbi0ygtwv5efKPKN0FesRv4tLb+S9U5T9iipNEd04rytqC oMZXopQAbYEMlB2JLgMBdc+1gU+PAs1lDGsd/KysoA1B1F6qCiD7oznd3Bq1uSSTgjhZ kC0orpKed1G57KF8yx0Loa/H6cSZcIBQ6k+hI=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=OGFq4XZgyQBCwLofjoH/dWhi1GHEAXNpzYhX8RBRo+0rClBHbJdCEikF3vDKMTvnhS dB/07IYe1dXlztb0kUjH3xZ4D3X+wFrljDcZVB04ZM3rQ2e2ftBk4ZuJQs73bw3OyqYe qMV/bodFL1eC22fFODC9qqOSd695JxUhXnnRU=

Приветствую.

Возникла проблема, Помогите пожалуйста выяснить где ошибка.
Проблема в том что если использовать вызовы встроенного перла в ssi то
все что после этого вызова nginx ничего браузеру не отдает.

Исходные данные:
ubuntu 9.04, nginx 0.7.61, собирается обычно: ./configure
--with-http_perl_module && make install

конфиг nginx:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    perl_modules conf/perl;
    perl_require test.pl;
    server {
        listen       80;
        server_name  localhost;
        ssi on;
        location / {
            root   html;
            index  index.shtml;
            location /perl {
               perl test::test;
            }
        }
    }
}

Файл conf/perl/test.pl:

package test;
use nginx;
sub test {
   my $r = shift;
   $r->send_http_header("text/html");
   return OK if $r->header_only;
   $r->print("Test from perl\n");
   $r->flush();
   return OK;
}

файл html/index.shtml:

Hello
<hr/>
Perl : <!--#include virtual="/perl" -->
<hr/>
Included : <!--#include virtual="/included.html" -->
<hr/>

Файл html/included.html:
Included file

если теперь открыть http://127.0.0.1 в браузере то получим:

Hello
------------------------------------
Perl : Test from perl

или, если посмотрим исходник страницы:

Hello
<hr/>
Perl : Test from perl


и все, хотя должно быть еще
----------------------------------
Included : Included file


Хотя если скачать файл index.shtml обычным wget-ом то получим

Hello
<hr/>
Perl : Test from perl

<hr/>
Included : Included file


<hr/>

То есть то что надо. Однако браузер не хочет отображать ничего после
инклуда перла.
проверено на firefox 3.5/linux, Opera 10/linux, elinks 0.12pre2/linux.
Та же ситуация и на firefox, IE на винде.

Спасибо.

-- 
Vladimir Aliokhin


 




Copyright © Lexa Software, 1996-2009.