Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные / 25 сообщений из 33, страница 1 из 2
18.03.2012, 22:05:24
    #37710954
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
Добрый день !

вот в таком коде

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
for ($k=1;$k<5;$k++){
$ka = $k + 45;
echo "<input onfocus='focweg()' type='text' class='zeit' maxlength='5'  value='{$arr_dat[$ka][0]}'   name='gemsta{$k}'>";
	
        for ($j=1;$j<=$kolvo_artklej;$j++){
			echo "<input onfocus='focweg()' type='text' class='zeit' maxlength='5'  
			value='{$arr_dat[$ka][$j]}'   name='gdat{$k}a{$j}'>";
		}
		
		for ($j=1;$j<4;$j++) {
			$ja = $j + 15;
			$js = $j + $kolvo_artklej;
			echo  "<input type='text' class='pn' name='gdat{$k}a{$js}'  
			value='{$arr_dat[$ka][$js]}'>";
		}
}




передаются не все переменные

я сделала такую проверку

Код: php
1.
2.
3.
4.
foreach ($_POST as $key => $value){
	if ($value !="" && strpos($key, 'gdat') !== false)
    	echo $key.' - '. $value . '; ';
}




получаю на выходе только gdat1a1 - 1; gdat1a2 - 0; gdat1a3 - 0; gdat1a4 - 0;

а куда деваются gdat2a1 .....
gdat3a1 .....
gdat4a1 ....

непонятно

кто подскажет в чем может быть проблема ?

apache 2, ubuntu
...
Рейтинг: 0 / 0
18.03.2012, 22:20:32
    #37710967
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
YuriyB,

В хтмл-коде вроде есть такие поля... Но попали ли они в форму - отсюда не видно.
Посмотрите для начала, отправляются ли эти переменные от клиента. Firebug в помощь.
Если отправка с клиента есть, а var_dump($_POST) их не показывает, тогда может быть suhosin накладывает ограничения (впрочем, по дефолту он вроде 200 полей должен пропускать).
...
Рейтинг: 0 / 0
18.03.2012, 22:26:00
    #37710969
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
vkle,

спасибо за ответ

у меня большая таблица там точно больше 200 полей

а как можно и где suhosin наладить ?
...
Рейтинг: 0 / 0
18.03.2012, 22:41:26
    #37710984
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
suhosin.ini ищите. Где то приблизительно в /etc/php5.3/способ_запуска/ или глубже. Под руками нет убунты чтоб посмотреть. Можно просто закомментить загрузку модуля, можно настроить как надо - по ситуации смотрите. Апача потом рестартануть нужно.
...
Рейтинг: 0 / 0
18.03.2012, 22:47:42
    #37710988
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
vklesuhosin.ini ищите. Где то приблизительно в /etc/php5.3/способ_запуска/ или глубже. Под руками нет убунты чтоб посмотреть. Можно просто закомментить загрузку модуля, можно настроить как надо - по ситуации смотрите. Апача потом рестартануть нужно.

vkle,

suhosin.ini нашел тут /etc/php5/cli/conf.d
все настройки закомментированы
пока не понял что нужно изменить
но сейчас погуглю
...
Рейтинг: 0 / 0
18.03.2012, 22:49:41
    #37710990
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
1 suhosin.request.max_vars
2 suhosin.post.max_vars

спасибо
...
Рейтинг: 0 / 0
18.03.2012, 22:52:05
    #37710992
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
Обычно для вебсервера директория cgi или apache используется. Посмотрите через phpinfo() какой конфиг используется.
Строка
Код: php
1.
;extension = suhosin.so

тоже закомментирована?
...
Рейтинг: 0 / 0
18.03.2012, 22:53:08
    #37710994
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
vkle,

сейчас посмотрю наверное рано обрадовался

пока не работает
...
Рейтинг: 0 / 0
18.03.2012, 22:56:30
    #37710997
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
в php info написано

Код: php
1.
2.
3.
Additional .ini files parsed 

/etc/php5/apache2/conf.d/curl.ini, /etc/php5/apache2/conf.d/gd.ini, /etc/php5/apache2/conf.d/imagick.ini, /etc/php5/apache2/conf.d/imap.ini, /etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_mysql.ini, /etc/php5/apache2/conf.d/pdo_sqlite.ini, /etc/php5/apache2/conf.d/sqlite.ini, /etc/php5/apache2/conf.d/sqlite3.ini, /etc/php5/apache2/conf.d/suhosin.ini 
...
Рейтинг: 0 / 0
18.03.2012, 23:04:08
    #37711005
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
Build Date Feb 2 2012 18:20:23
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php5/apache2
Loaded Configuration File /etc/php5/apache2/php.ini
Scan this dir for additional .ini files /etc/php5/apache2/conf.d
Additional .ini files parsed /etc/php5/apache2/conf.d/curl.ini, /etc/php5/apache2/conf.d/gd.ini, /etc/php5/apache2/conf.d/imagick.ini, /etc/php5/apache2/conf.d/imap.ini, /etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_mysql.ini, /etc/php5/apache2/conf.d/pdo_sqlite.ini, /etc/php5/apache2/conf.d/sqlite.ini, /etc/php5/apache2/conf.d/sqlite3.ini, /etc/php5/apache2/conf.d/suhosin.ini
PHP API 20090626
PHP Extension 20090626
Zend Extension 220090626
Zend Extension Build API220090626,NTS
PHP Extension Build API20090626,NTS
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
Zend Multibyte Support disabled
IPv6 Support enabled
Registered PHP Streams https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk
...
Рейтинг: 0 / 0
18.03.2012, 23:18:13
    #37711020
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
а что еще может мешать ?
...
Рейтинг: 0 / 0
18.03.2012, 23:42:33
    #37711033
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
YuriyB/etc/php5/apache2/conf.d/suhosin.iniОн точно только прочитан, но модуль не загружен?
...
Рейтинг: 0 / 0
18.03.2012, 23:49:37
    #37711043
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
vkle,

в php.ini я такой строки ;extension = suhosin.so
вообще не нашел
...
Рейтинг: 0 / 0
18.03.2012, 23:52:19
    #37711047
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
хотя в phpinfo
внизу стоит
This server is protected with the Suhosin Patch 0.9.10
...
Рейтинг: 0 / 0
19.03.2012, 00:52:54
    #37711080
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
grep -r suhosin.so /etc/php5/apache2
?
...
Рейтинг: 0 / 0
19.03.2012, 10:00:40
    #37711263
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
vklegrep -r suhosin.so /etc/php5/apache2

выдает

Код: php
1.
/etc/php5/apache2/conf.d/suhosin.ini:extension=suhosin.so
...
Рейтинг: 0 / 0
19.03.2012, 10:05:00
    #37711277
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
прилагаю файл suhosin.ini
может там что не так
...
Рейтинг: 0 / 0
19.03.2012, 10:10:43
    #37711287
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
Что там может быть не так то? Вторая строчка как раз загружает модуль. Закомментируйте уже ее.
...
Рейтинг: 0 / 0
19.03.2012, 11:26:06
    #37711410
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
vkle,

вторую строчку закомментировал и перестартанул апач
к сожалению пока не работает

смогу продолжить только вечером
...
Рейтинг: 0 / 0
22.03.2012, 00:35:45
    #37717009
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
какие нибудь еще идеи есть ?
...
Рейтинг: 0 / 0
23.03.2012, 12:18:21
    #37719789
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
>вторую строчку закомментировал и перестартанул апач
>к сожалению пока не работает

ну модуль точно отключился? должны пропасть настройки. вываливайте ВСЕ phpinfo сюда.

Вообще, сухосин разделен на две части - патч и модуль. Патч дебианоиды наложили на все варианты php. и отдельно собрали модуль в пакете. Патч тоже влияет на обработку всего.
Например, переменные мистически пропадают когда размер данных приближается к post_max_size.

обратите внимание на переменные max_input_vars, post_max_size,max_file_uploads,max_input_nesting_level . просто все увеличивайте.
...
Рейтинг: 0 / 0
23.03.2012, 23:01:42
    #37720915
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
netwind,

уже несколько дней путаюсь настроить suhosin
на сервере (Debian) и на локольном компе (Ubuntu)

в Ubuntu вообще нет файла suhosin.ini но есть Suhosin Patch 0.9.10

в Ubuntu в phpinfo() стоит This server is protected with the Suhosin Patch 0.9.10

post_max_size 8M что хватит с головой

где можно найти настройки самого Suhosin Patch ?

и зачем нужен и модуль и Patch одновременно ?
...
Рейтинг: 0 / 0
24.03.2012, 01:20:46
    #37721029
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
модуль, похоже удалось отключить.

>где можно найти настройки самого Suhosin Patch ?
Нигде. Их нет.

>и зачем нужен и модуль и Patch одновременно ?

Зачем в дебиане решают за всех по наводке известного пшп-истерика ? Это риторический вопрос.

>post_max_size 8M что хватит с головой[/quote]
Я понимаю, но мало ли.
попробуй еще register_globals - on сделать. да и вообще, на всякий случай все переменные, на значения которые в php5.2 были, поменяй.

В код не смотрел даже. Смысла нет смотреть в код, автор которого не потрудился изобразить полностью воспроизводимый случай, а накидал каких-то кусков.
...
Рейтинг: 0 / 0
25.03.2012, 11:26:43
    #37721763
YuriyB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
netwind,

все настройки в suhosin.ini судя по тесту не играют никакой роли

прилагаю php.ini
suhosin.ini был выше

все попытки передать больше чем 1001 POST переменную ни к чему не приводят

вот код для теста

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
</head>
<body>
<?php 
if (isset($_POST)){
	echo 'emfangen POST : '.sizeof($_POST).' variablen<br/>';
	foreach ($_POST as $key => $value){
		if ($value !="")
	    	echo $key.' - '. $value . '; ';
	}
}


?>

<form  method="post" name="frm">
<?php 
for ($i = 0; $i < 2000; $i++){
	echo '<input type="hidden" name="post_var_'.$i.'" value="4">';
}
?>
<input type="submit" value="Speichern" class="btn" >
</form>
...
Рейтинг: 0 / 0
25.03.2012, 11:36:24
    #37721767
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные
хороший тест.
Ну вот же уже писал : увеличивайте все переменные в списке. Что-нибудь бы сработало и потом можно было внимательно изучить что именно.
Теперь конкретно увеличивайте max_input_vars. Она у вас равна 1000.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) при переходе на php 5.3 перестали передавать некоторые POST переменные / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]