PHP 5.2.12 und max_file_uploads

Autor: Christian Ahmer, erstellt: 11.01.2010, zuletzt geändert: 16.09.2014
Kategorien: Web, Php

Kürzlich durfte ich an einem, ursprünglich nicht von mir stammenden Projekt, welches auf Basis des Zend Frameworks in Version 1.7.2 läuft, feststellen, dass die Applikation nicht mehr funktionierte, wenn man bestimmte Formularfelder absenden wollte.

Der Grund liegt darin, dass die Applikation damals auf einer wesentlich älteren PHP Version aufgebaut wurde und das Zend Framework welches benutzt wird, ebenfalls ein gutes Jahr alt ist.
Der ursprüngliche Programmierer hat die Formularfelder so aufgebaut, dass man bis zu 12 Dateien pro einfachem Formularupload reinstellen konnte.
Das bedeutet: Bei Formularen, welche 2 Dateiuploads hatten, wo man dynamisch mehrere Dateien hinzufügen konnte, gab es also bereits 24 gleichzeitige mögliche Uploads.

Nun wo allerdings auf dem aktuellen Server PHP 5.2.12 installiert wurde, konnte das nicht mehr funktionieren, da die Standardeinstellung von PHP via max_file_uploads genau 20 max. gleichzeitige Uploads zulässt.
Allerdings hat es recht lang gedauert, herauszufinden, was da schief lief, da ich nicht der Serveradmin war und von der PHP Aktualisierung gar nicht richtig im Bilde war und zu erst Fehler in meinem Code oder im Framework vermutete, da der Zend -> File -> Transfer -> Adapter keine Uploads mehr entgegennehmen konnte sondern einfach crashte und als Fehler angab, keine Dateien zu finden - womit er ja im Grunde auch nicht unrecht hatte, da PHP den Zugriff auf die Dateien scheinbar erst gar nicht zu lies, da max_file_uploads ja überschritten wurde.

Zum Glück konnte der Fehler aber noch zeitig gefunden werden, so dass die Applikation nun wieder wie gewohnt auf der neuen PHP Version läuft.

Achtung:
Die Einstellung kann dzt. nur direkt in der php.ini geändert werden, Versuche via Apache Konfiguration oder .htaccess sind dzt. nicht erlaubt.
Kommentar eines Entwicklers dazu: "This might open a can of worms". Ein Schelm, wer böses dabei denkt.