mod_fcgid: HTTP request length

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.

Danke an http://stackoverflow.com/questions/23686505/php-post-max-size-vs-upload-max-filesize-what-is-the-difference

 

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

Froxlor Ansicht

Dann noch Apache reload ausführen und geschafft.

 

 

Bitte teile den Artikel, wenn er Dir gefällt!

Neueste Beiträge

Thomas Grünert Verfasst von:

in der Softwareentwicklung tätig als Projektleiter, Product Owner und gern als Administrator / privat technisch begeistert aber pragmatisch

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.