für post_max_size kein beliebiger Wert möglich?

für post_max_size kein beliebiger Wert möglich?

am 11.10.2007 14:07:57 von Arne Mittelstaedt

Hallo,

im Zusammenhang mit einer quick&dirty-Lösung zum Upload von großen
Dateien im Intranet ist mir aufgefallen, dass die Konfigurationsvariable
"post_max_size" bei einem Wert von "2048M" nicht das erwartete Verhalten
zeigt. Bei dieser Einstellung wurden bei mir nach einem HTTP_Post aus
einem HTML-Formular nur wenige Bytes übertragen bzw. zugelassen. Die
genaue Datenmenge kann ich nicht angeben (ich wüßte nicht wie das zu
messen ist), aber sie reichte auf jeden Fall nicht aus, eine
Authentifizierung (über Pear::Auth) durchzuführen. Es gab keine
Fehlermeldung, dass Skript hat die Verarbeitung einfach abgebrochen und
sich verhalten wie bei einer Memory_Limit Überschreitung. Einen Wert von
"1024M" verarbeitet "post_max_size" genau so wie erwartet. Ein
"upload_max_filesize" auf "2048M" machte im Übrigen KEINE Probleme.

Kann das jemand erklären bzw. bestätigen? Ich nutze Dapper Drake,
Apache2 und PHP 5.1.2.

Tja, das hat jetzt eine Stunde harte Arbeit gekostet, diesen Fehler zu
finden, vor allem, da ich ihn nicht dort vermutet hätte, sondern das
Session-Management im Verdacht hatte.

Gruß
Arne

Re: für post_max_size kein beliebiger Wert mögli

am 11.10.2007 15:08:46 von Carsten Wiedmann

Arne Mittelstaedt schrieb:

> im Zusammenhang mit einer quick&dirty-Lösung zum Upload von großen Dateien
> im Intranet ist mir aufgefallen, dass die Konfigurationsvariable
> "post_max_size" bei einem Wert von "2048M" nicht das erwartete Verhalten
> zeigt.

2048 x 1048576 = 2147483648 (siehe [1])

Das wäre dann mehr als PHP_INT_MAX (2147483647) [2] (zumindest auf meinem
System), da PHP ja hier einen Integer erwaret [3] und dahingehend wandelt.

Gruß
Carsten

[1] http://de2.php.net/manual/en/faq.using.php#faq.using.shortha ndbytes
[2] http://de2.php.net/manual/en/language.types.integer.php
[3] http://de2.php.net/manual/en/ini.core.php#ini.post-max-size

Re: für post_max_size kein beliebiger Wert möglich?

am 11.10.2007 15:50:14 von Arne Mittelstaedt

Carsten Wiedmann schrieb:

> 2048 x 1048576 = 2147483648 (siehe [1])
>
> Das wäre dann mehr als PHP_INT_MAX (2147483647) [2] (zumindest auf
> meinem System), da PHP ja hier einen Integer erwaret [3] und dahingehend
> wandelt.

Stimmt, das ist es, habs grad nochmal an den Grenzen getestet.

Vielen Dank
Arne