ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


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


  ПРОГРАММЫ 



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














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

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

[apache-talk] FastCGI and WriteExcel problems



Привет, всем!

У меня небольшой вопрос, не могу сам решить.
У меня под Apache сервер установлен модуль FastCGI.
Вот настройки, связанные с FastCGI:

<IfModule mod_fastcgi.c>
       AddHandler fastcgi-script fcgi fpl
       AddType application/x-httpd-fcgi .fcgi .fpl
       FastCgiServer /home/httpd/htdocs/jim.iv/cgi-bin/test.fpl -processes 1
</IfModule>

Скрипт test.fpl (см ниже) выдаёт в качестве ответа .xls файл.
Проблема в том, что при сохранении этого
файла под Mozilla 1.2 файл оказавается нулевого размера.
Проверил telnet - действительно выдаётся только header.
Если закомментировать AddHandler или же переименовать test.fpl в
test.pl и соотв. подправить FastCgiServer, то всё начинает работать.
(выдаёт содержимое).
Не подскажет ли кто-нить, почему так происходит?
Если ошибка, то где (FastCGI/WriteExcel)?
Сначала мне казалось, что подменяется MIME type при ответе
для скриптов .fpl, но потом перепроверил telnet'ом - вроде нет,
всё нормально.

=== test.fpl ===
#!/usr/bin/perl

use CGI::Fast qw(-no_xhtml);
use Spreadsheet::WriteExcel;

while (my $f = new CGI::Fast)
{
       print
           $f->header(
           -expires=>'now',
           -type=>'application/vnd.ms-excel',
           -attachment=>"Test.xls");

       my $workbook  = Spreadsheet::WriteExcel->new("-"); # Output to STDOUT

       my $page = $workbook->addworksheet("Page 1");
       $page->set_column(0, 0, 30);
       $page->write_string(0, 0, "Hello, world!"); # Just one cell
}



=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.