Встроенный перл в ssi
Vladimir Aliokhin
avovik at gmail.com
Mon Jun 22 16:45:47 MSD 2009
Приветствую.
Возникла проблема, Помогите пожалуйста выяснить где ошибка.
Проблема в том что если использовать вызовы встроенного перла в 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
More information about the nginx-ru
mailing list