/ домой \ | \ темы / |
04/12/2007 14:32 iZzz32: |
Small HTTP Server v3.05.74/zlib v1.2.3/PHP v5.1.2.2 (php-cgi.exe) Некоторые форумы, например, phpBB2, умеют самостоятельно сжимать свои страницы. Они выставляют Content-Encoding: gzip (если браузер указывает Accept-Encoding, конечно) и выдают сжатое тело страницы. Но если установлена галочка «Использовать gzip сжатие» в Small HTTP Server, он, не проверяя наличие Content-Encoding, повторно сжимает уже сжатое тело страницы, и клиенту, конечно же, приходят «крякозябры». Мне кажется, проверка на Content-Encoding перед сжатием результатов работы скрипта лишней не будет. Кстати, под связкой SHHTP + php5isapi.dll phpBB2 работает лишь частично (вроде что-то при обработке POST глючит), стоит ковыряться или причина проблемы известна? |
05/12/2007 20:53 ValdikSS: |
> стоит ковыряться или причина проблемы известна я говорил об этом в теме "Запрос на неявный адрес" |
06/12/2007 21:58 iZzz32: |
ValdikSS, к сожалению, в вашем посте не показываются URL-ы. Но для 127.0.0.1/foo/ сервер исправно отдаёт index.php как с php-cgi, так и с php5isapi. Я говорил о другом (и, кстати говоря, был неправ насчёт POST): при успешном входе на форум, phpBB2 делает редирект через header(`Location: ` . $куда_то), но Small HTTP Server совместно с php5isapi выдают клиенту лишь статус 302 БЕЗ заголовка Location. Соответственно, проблема с php5isapi в моём случае: при работе с PHP через ISAPI-интерфейс сервер, встречая заголовок Location, выдаёт 302, как полагается, но проглатывает сам Location. Пример: <?php header(`Location: /`); /* Будет работать через php-cgi, но не будет через php5isapi. */ ?> Ещё при работе через php5isapi, скрипту почему-то недоступны заголовки, посланные клиентом. Пример: <?php echo $_SERVER[`USER_AGENT`]; /* Покажет User-Agent только при работе через php-cgi. */ ?> Немного оффтопик (не хочу заводить новую тему): если имя файла по умолчанию — «index.*», запрашиваемый URL — «127.0.0.1/html4/», а в каталоге «html4» лежит каталог «index», то «html4/index.html» игнорируется, зато возвращается дефолтовый файл (или листинг) каталога «html4/index/». Это немного необычно, да и поле в настройках называется «Имя ФАЙЛА по умолчанию». И ещё: в настройках при вводе числа, при нажатии цифр 2, 3, 8 и 9 на NumPad-е (NumLock включён) цифры вводятся, но скроллится окно настроек, т.е., клавиши одновременно работают и как DownArrow, PageDown, UpArrow и PageUp соответственно. |
12/12/2007 21:32 iZzz32: |
Max, если вам неинтересны мелкие баги, скажите, и я не буду больше писать.
|
13/12/2007 01:23 Max: |
Баги интересны. Я просто пока еще не успел все проверить и исправить, по этому не отвечал.
|
04/01/2008 08:50 ValdikSS: |
Незнаю как у вас, но у меня если сделать POST например на 127.0.0.1 вместо 127.0.0.1/index.php то пост не обработается ни через cgi ни через isapi
|
04/01/2008 17:26 iZzz32: |
ValdikSS, а какие версии Small Server и PHP, что поправлено в конфиге PHP, какой запрос видно в логе Small Server? Следующий скрипт index.php в корне нормально работает (версии софта см. в первом посте): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "www.w3.org/TR/html4/strict.dtd"> <html lang="en"> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css" media="all"> pre.formdata {border: solid thin #246; padding: 1em;} </style> </head> <body><pre class="formdata"> <?php foreach ($_POST as $n => $v) echo "$n = $v\n"; ?> </pre> <form method="post" action="/"> <input type="text" name="foo" value="bar"><br> <input type="text" name="baz" value="qux"> <input type="submit" value="Test"> </form> </body> </html> |