Проблемы с POST запросом

honer

Новичок
Проблемы с POST запросом

Добрый день. Бьюсь уже второй день с проблемой.

Суть:

Есть простенький скрипт _http://baf.by/testphp.php, который выводит пользовтелю форму и затем, получив данные от пользователя, просто их выводит на экран.

Как только я пытаюсь ввести в форму больше 65000 знаков, данные после нажатия на Submit в скрипт обработки НЕ приходят.

Характеристики данного сервера: PHP 5.2.5, memory_limit=128M, post_max_size=110M, upload_max_filesize=100M, более подробная инфа - _http://baf.by/phpinfo.php

HTTP header при этом выглядит так:

1. При передаче маленьких данных

http://baf.by/testphp.php

POST /testphp.php HTTP/1.1
Host: baf.by
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/2.0.0.12;MEGAUPLOAD 1.0 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://baf.by/testphp.php
Cookie: kpass=******; kuid=1
Content-Type: application/x-www-form-urlencoded
Content-Length: 58
text2=%F2%E5%F1%F2%EE%E2%EE%E5+%F1%EE%EE%E1%F9%E5%ED%E8%E5

HTTP/1.x 200 OK
Date: Thu, 09 Apr 2009 08:46:52 GMT
Server: Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.8b DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 SVN/1.4.4 PHP/5.2.5
X-Powered-By: PHP/5.2.5
Content-Length: 710
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
2. При передаче больших данных

http://baf.by/testphp.php

POST /testphp.php HTTP/1.1
Host: baf.by
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/2.0.0.12;MEGAUPLOAD 1.0 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:http://baf.by/testphp.php
Cookie: kpass=******; kuid=1
Content-Type: application/x-www-form-urlencoded
Content-Length: 179716
text2=%CB%E8%F7%ED%EE-%EA%EE%EC%E0%ED%E4%ED%FB%E9+%F7%E5%EC%EF%E8%EE%ED%E0%F2+.......+%D2%E5%F1%F2%EE%E2%EE%E5+%F1%EE%EE%E1

HTTP/1.x 200 OK
Date: Thu, 09 Apr 2009 08:47:26 GMT
Server: Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.8b DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 SVN/1.4.4 PHP/5.2.5
X-Powered-By: PHP/5.2.5
Content-Length: 674
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

При тестировании того же самого скрипта на других серверах:
_http://adt.by/testphp.php и _http://belauto.biz/testphp.php - проблем не возникло.

Характеристики данных серверов _http://adt.by/phpinfo.php и _http://belauto.biz/phpinfo.php.

НА обоих из них стоит PHP 5.2.6


Вопрос: в чем может быть проблема? Это 100% глюк PHP или же все таки неверная настройка Веб-сервера?
 

DiMA

php.spb.ru
Команда форума
исходник testphp.php покажи

+выводи на экран это

$list=apache_request_headers();

$method='GET';
if ($_SERVER['REQUEST_METHOD']=='POST') {
$method='POST';
$postline=file_get_contents("php://input");
}
 

honer

Новичок
Автор оригинала: DiMA
исходник testphp.php покажи
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="robots" content="noindex,nofollow" >
<title>ТЕСТ ПХП</title></head>
<body class="body_main">


<form action="testphp.php" name="kform" method="post">
  <table width="100%"  border="0" cellpadding="4" cellspacing="1" class="tableborder">
    <tr>
      <td colspan="2" style="padding:0px">
	  <div><textarea rows="20" cols="100" name="text2"></textarea></div>
	</td>
    </tr>
    <tr>
      <td colspan="2" class="thirdrow">
	  	  <input type="submit" class="button" value="Создать">
	  </td>
	  </tr>
  </table>
</form>
<br />

<?php

echo $_REQUEST['text2'];

?>

</body>
</html>
-~{}~ 09.04.09 12:19:

Добавил

PHP:
<?php


$list=apache_request_headers();

$method='GET';
if ($_SERVER['REQUEST_METHOD']=='POST') {
$method='POST';
$postline=file_get_contents("php://input");
}

echo $postline;

echo "<br/>";

echo $_REQUEST['text2'];

?>
Так вот после отправки "больших" данных имеем на экране:

text2=%3Ctable+cellspacing%3D%220%22+cellpadding%3D%220%22+border%3D%220%22%3E%0D%0A++++%3Ctbody%3E%0D%0A++++++++%3Ctr%3E%0D%0A++++++++++++%3Ctd+valign%3D%22top%22+width%3D%2260%22%3E%0D%0A++++++++++++%3Cdiv+align%3D%22center%22%3E%26nbsp%3B%3C%2Fdiv%3E%0D%0A++++++++++++%3C%2Ftd%3E%0D%0A++++++++%3C%2Ftr%3E%0D%0A++++++++%3Ctr%3E%0D%0A++++++++++++%3Ctd+valign%3D%22top%22+width%3D%22295%22%3E%0D%0A++++++++ ......

и дальше пусто, т.е. echo $_REQUEST['text2'] - не выводит ничего
 

DiMA

php.spb.ru
Команда форума
ну, смени апачу и пхп... я сам отлавливал когда-то явные баги при пост больших форм
 

honer

Новичок
Так в том то и дело, что проблема есть на реальном хостинге, а не на Денвере в локалке.

Хотелось бы знать в чем глюк, чтобы тыкнуть админу хостинга?

Есть ли это глюк PHP?

Нарыл вот что _http://bugs.php.net/bug.php?id=45503

-~{}~ 09.04.09 14:52:

установили на сервере PHP 5.2.9 и проблема не исчезла.

По прежнему через форму нельзя передать больше 65000 символов

Я уже не знаю что и делать??? Куда копать? :(
 

dimagolov

Новичок
о настройках твоего пыха. их, видимо, посмотрели все, кроме тебя

-~{}~ 09.04.09 09:29:

гугл твой друг. в двух словах - типа защита от кулхацкеров. но в порте фряхи сказано особо, что лучше ее не юзать, во избежание.
 

honer

Новичок
Да. Вся проблема была в "сухосине".
Всем спасибо за разбор ситуации
 
Сверху