PHP $_POST nur 200 Einträge ???? (Suhosin)

Kommentieren Dec 11 2008 .txt, .json, .md

Ahhhhh……

Ok nach dem ich an meinem Verstand gezweifelt habe, habe ich dann doch noch eine Erlösung gefunden.

Also hier erster mal mein Problem: Ein test Installation von einer Software hatte das Problem, dass ein sehr großes Forumlar nicht richtig übertragen worde. Nicht richtig ist vielleicht die falsche Beschreibung denn es gab keine Fehlermeldung oder so. Die $_POST Variable in PHP wurde einfach nicht größer als 200 Einträge ( count($_POST); ).

ABER WARUM ???? Kein Syntaxfehler oder offene Tags im HTML. Ich konnte sogar die Stelle finden an der nichts mehr an input Felder übernommen worde…

Wie löst man den so was ? Nach was sucht man da bei Google ?? Na ja ganz einfach:

length $_POST 200

Und was kam dabei raus ? -> $_POST limited to 200?

Ahh da ist das “Problem”: Suhosin

Nun die Lösung:

Folgende Einstellungen in der suhosin.ini ändern bzw. aktivieren (wo die suhosin.ini ist findet man über phpinfo(); heraus. Kann aber auch sein, dass diese Einstellungen in der normalen php.ini sind.)

suhosin.request.max_varname_length = 128
suhosin.request.max_vars = 2000
suhosin.request.max_totalname_length = 256
suhosin.request.max_array_index_length = 128
suhosin.post.max_vars = 2000
suhosin.post.max_value_length = 65000
suhosin.post.max_totalname_length = 256
suhosin.post.max_name_length = 128

Die wichtigste Einstellung ist die suhosin.post.max_vars den diese war bzw. ist im Orginalzustand auf 200 gesetzt. Daher auch das Limit auf 200 Einträge in der Post Variable.

Darauf muss man erster mal kommen…

Banana

out.