|
|
|
Видимо проблемы в конкретном apache Re: _ответ
>> (чтобы в этом убедиться достаточно вызвать >> обычный printenv из-под парсера)
Дык! Именно так и делал. С небольшой прибавкой, чтобы при ненулевом CONTENT_LENGTH читал из STDIN и выдавал число считаных байт и то, что прочитал
В .htaccess AddHandler my-type .htm Action my-type /cgi-bin/env
в /cgi-bin/env #----------------------------------------------- print 'Content-type: text/html
<html><head></head><body> proba cgi <br><table border=1>';
foreach $k (sort keys %ENV) { print "<tr><td>$k <td> $ENV{$k}"; };
print "</table>\n";
if($ENV{'CONTENT_LENGTH'}) { $data=''; $len=read(STDIN, $data, $ENV{'CONTENT_LENGTH'}); print "<pre>\n\nSTDIN data length=$len ---------cut_here----------- $data ---------cut_here----\n" }; print '</body></html>'; #-----------------------------------------------
В форме для upload:
<form enctype="multipart/form-data" method=post action='http://al.peterhost.ru/cgi-bin/env'> Файл с данными : <br> <input type=submit name='save_import' value='Загрузить файл'> <input type=file name="file_name" size=40> </form>
В выдаче после нажатия кнопки "Загрузить файл" (помимо всего прочего):
CONTENT_LENGTH 14250 а вот STDIN data length=0 и никаких данных, считанных из STDIN
Если делать все обычным путем (в html-форме указать action сам cgi-скрипт):
<form enctype="multipart/form-data" method=post action='http://al.peterhost.ru/cgi-bin/env'> Файл с данными : <br> <input type=submit name='save_import' value='Загрузить файл'> <input type=file name="file_name" size=40> </form>
В выдаче после нажатия кнопки "Загрузить файл" (помимо всего прочего):
CONTENT_LENGTH 14250 STDIN data length=14250 и дальше ввод в формате multipart как положено
>> post в любом случае идет на сам парсер.
К сожалению, в моем случае это не так.
В доках к apache'у я этому подтверждения не нашел (если знаете где это есть - направьте на путь истинный :( ), а что недокументировано - то может меняться сегодня так, а завтра эдак.
В общем, по всему выходит, дело в том, как собран и настроен мой apache. Может сталкивались с такой проблемой, или просто знаете - какую у apache ручку крутить надо, чтобы поправить дело? Или какие-то общие соображения на этот счет есть?
|