Der Versuch, eine Datei auf einen Webserver (hier Contao-CMS) hochzuladen, bricht mit error „HTTP request length“ im Logfile ab. Es erscheint eine Seite 500 Internal Sever Error.
Fehlerbild
Im Logfile sieht es in etwa so aus:
[Thu Feb 23 16:20:18.256722 2017] [fcgid:warn] [pid 11439] [client 80.134.182.87:65320] mod_fcgid: HTTP request length 131718 (so far) exceeds MaxRequestLen (131072), referer: http://x.y.z/
In der php.ini ist jedoch
upload_max_filesize = 32M
was für den Request eigentlich ausreichen ist.
Lösung
Nun habe ich gelernt, dass zusätzlich auch der Parameter
post_max_size=60M
angepasst werden muss. Dabei stellt upload_max_filesize nur eine Untermenge von post_max_size dar.
Es können mehrere Dateien der Größe upload_max_filesize in einem Request enthalten sein, der neben den Dateien auch noch alle weiteren Formaulardaten enthält und dessen Größe insgesamt mit post_max_size limitiert wird.
Aha.
Leider ist das Problem nicht gelöst. Zusätzlich muss, weil der Server mit mod_fcgid läuft, auch noch eine Direktive in den Apache eingefügt werden. Für ein auf Froxlor basierenden System bietet sich entweder die globale Konfiguration an in
/etc/apache2/mods-enabled/fcgid.conf
die dann wie folgt aussieht:
<IfModule mod_fcgid.c>
FcgidConnectTimeout 20
FcgidMaxRequestLen 8388608
<IfModule mod_mime.c>
AddHandler fcgid-script .fcgi
</IfModule>
</IfModule>
oder eine domainspezifische Konfiguratoin im Froxlor-Panel
Dann noch Apache reload ausführen und geschafft.
Die Kommentare sind geschlossen