URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86079
[ Назад ]

Исходное сообщение
"apache +php, не работает метод POST"

Отправлено piroman17 , 24-Июл-09 17:52 
Есть проблема с получением данных методом POST. Конструкция следующая: Debian Linux, apache2.2.9+php5.2.6+mysql. Проблема в том что при извлечении переменной из $_POST['var_name'] получаю пустую строку. Апач настроен следующим образом:

--------------------------
ServerAdmin lalala@lala.net
ServerName piroman.dubna.ru
ServerAlias www.piroman.dubna.ru

DocumentRoot /usr/local/apache2/htdocs
<Directory />
<Limit GET POST>
   Order allow,deny
   Allow from all
</Limit>

Options FollowSymLinks
AllowOverride None
</Directory>

<Directory /usr/local/apache2/htdocs/>
<Limit GET POST>
  Order allow,deny
  Allow from all
</Limit>

Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/ex.error.log
LogLevel debug
CustomLog /var/log/apache2/ex.access.log combined
</VirtualHost>
------------------------------

Основное в php.ini:
------------------------------
variables_order = "EGPCS"
post_max_size = 2048M
magic_quotes_gpc = On
------------------------------

код php (index.php):
echo($_POST['test_variable']);
//Далее вывод формы

код формы:
<form action="/index.php" method="POST">
<input name="test_variable" type="text">
<input type="button">
</form>

------------------------------------
Проблема на 100% в настройке сервера, т.к. на другом он жил. Помогите, плиз, с настройкой.
заранее спасибо!


Содержание

Сообщения в этом обсуждении
"apache +php, не работает метод POST"
Отправлено ALex_hha , 24-Июл-09 23:36 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
</head>
<body>
<form action="test.php" method="post">
First name: <input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
<input type="submit" value="Submit" />
</form>
</body>
</html>

<?php
   echo "First name - ".$_POST['fname'];
?>

все работает


"apache +php, не работает метод POST"
Отправлено piroman17 , 25-Июл-09 02:15 
>все работает

так у вас оно работает на рабочем сервере)))))) я выше писал:
"Проблема на 100% в настройке сервера, т.к. на другом он жил."

кто нибудь видел подобные проблемы?

вот логи:
error.log (изменения после отправки формы):

[Sat Jul 25 01:59:00 2009] [debug] mod_deflate.c(632): [client 62.84.101.66] Zlib: Compressed 4491 to 1313 : URL /index.php, referer: http://domain.net/

access.log (изменения после отправки формы):

x.y.z.c - - [25/Jul/2009:01:59:00 +0400] "POST /index.php HTTP/1.1" 200 1331 "http://domain.net/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729)"


"apache +php, не работает метод POST"
Отправлено ALex_hha , 25-Июл-09 14:44 
>[оверквотинг удален]
>error.log (изменения после отправки формы):
>
>[Sat Jul 25 01:59:00 2009] [debug] mod_deflate.c(632): [client 62.84.101.66] Zlib: Compressed 4491
>to 1313 : URL /index.php, referer: http://domain.net/
>
>access.log (изменения после отправки формы):
>
>x.y.z.c - - [25/Jul/2009:01:59:00 +0400] "POST /index.php HTTP/1.1" 200 1331 "http://domain.net/" "Mozilla/5.0
>(Windows; U; Windows NT 5.1; ru; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR
>3.5.30729)"

Ну попробуй отключить mod_deflate на время теста


"apache +php, не работает метод POST"
Отправлено piroman17 , 25-Июл-09 02:54 
плюс ко всему:

вставил в начале скрипта:
<?php var_dump($_REQUEST); ?>

Дало вывод:
array(2) {
["hz123"]=>  string(32) "fd37e710ab61b1c578e6275696406693"
["PHPSESSID"]=>  string(32) "3cd04a9c44dde32989bfc647bf140433"
}
hz123 - это кукис, остался от дургово скрипта


у кого нибудь было что переменная до скрипта не доходила?


"apache +php, не работает метод POST"
Отправлено piroman17 , 25-Июл-09 03:42 
>[оверквотинг удален]
>
>Дало вывод:
>array(2) {
>["hz123"]=>  string(32) "fd37e710ab61b1c578e6275696406693"
>["PHPSESSID"]=>  string(32) "3cd04a9c44dde32989bfc647bf140433"
>}
>hz123 - это кукис, остался от дургово скрипта
>
>
>у кого нибудь было что переменная до скрипта не доходила?

поборол переносом php.ini с другого сервера (там конструкция один-в-один такая же).....

сорри за флуд


"apache +php, не работает метод POST"
Отправлено pvv912 , 29-Окт-09 21:47 
такая же проблема, php работет, но как только начинаю использовать POST - нет прехода на другую страницу, и ошибки никакой не выдает,  просто сбрасываются значения формы и все,
подскажите в чем может быть дело



"apache +php, не работает метод POST"
Отправлено piroman17 , 29-Окт-09 22:00 
>такая же проблема, php работет, но как только начинаю использовать POST -
>нет прехода на другую страницу, и ошибки никакой не выдает,  
>просто сбрасываются значения формы и все,
>подскажите в чем может быть дело

разобрался я в этой проблеме:
1) если пихать данных больше чем установлен лимит в php - apache сбрасывает соединение.
2) макс размер POST 2Гб, но некоторый размер уходит на название переменных, так что передать 2Гб по POST нельзя!


"apache +php, не работает метод POST"
Отправлено Andre , 17-Ноя-09 22:39 
>
>разобрался я в этой проблеме:
>1) если пихать данных больше чем установлен лимит в php - apache
>сбрасывает соединение.
>2) макс размер POST 2Гб, но некоторый размер уходит на название переменных,
>так что передать 2Гб по POST нельзя!

1. не понятно как разобрался
2. что же ты ему пихал по посту фильм на >2ГБ ????


"apache +php, не работает метод POST"
Отправлено piroman , 17-Ноя-09 22:56 
>>
>>разобрался я в этой проблеме:
>>1) если пихать данных больше чем установлен лимит в php - apache
>>сбрасывает соединение.
>>2) макс размер POST 2Гб, но некоторый размер уходит на название переменных,
>>так что передать 2Гб по POST нельзя!
>
>1. не понятно как разобрался
>2. что же ты ему пихал по посту фильм на >2ГБ ????

1) первое нашел эксперементально, действительно сбрасывает.
2) максимальный размер написан в стандарте.
3) пихал я ему файл .avi

з.ы. кстати если в php сказать макс размер POST >2Гб работает очень странно.


"apache +php, не работает метод POST"
Отправлено Andre , 17-Ноя-09 23:28 
DEBIAN LENNY, Apache 2, Php5
перерыл на предмет сравнения старый рабочий конфиг php.ini (php4) c php5.ini - в котором _POST пустой массив на след.странице.

нашел в Php.ini(v5) Новую переменную (нет ее в php4.ini)

; Whether or not to register the old-style input arrays, HTTP_GET_VARS
; and friends.  If you're not using them, it's recommended to turn them off,
; for performance reasons.
;register_long_arrays = On
register_long_arrays = OFF

поставил ее в OFF - НЕ ПОМОГЛО! ни разу ..

остальное стоит такжен как и на php4.ini

register_globals = Off
register_argc_argv = On
post_max_size = 48M

ЕСТЬ ЕЩЕ ИДЕИ ?


"apache +php, не работает метод POST"
Отправлено piroman17 , 18-Ноя-09 00:35 
>register_globals = Off
>register_argc_argv = On
>post_max_size = 48M
>
>ЕСТЬ ЕЩЕ ИДЕИ ?

поставить размер upload-файла меньше размера 48M (post_max_size). тут тож глюки видел
з.ы. даже если нет файлов для аплоада всё равно поменяйте ;-)


"apache +php, не работает метод POST"
Отправлено Sell , 09-Апр-10 16:38 
Изменил register_globals OFF на ON и все заработало!



"apache +php, не работает метод POST"
Отправлено nik , 25-Янв-11 16:31 
> Изменил register_globals OFF на ON и все заработало!

ура зароботало Спасибо


"apache +php, не работает метод POST"
Отправлено Вадим Сахно , 10-Июл-11 14:36 
>> Изменил register_globals OFF на ON и все заработало!
> ура зароботало Спасибо

Это не решение проблеммы. дело в том, что все гениальное-просто
Нужно убрать с тега FORM все, кроме метода и исполнителя. Enctype чудесным образом перекручивает данные.
И совет - чаще делай дебаг, 99% помогает