contao 4.9 - Große Tabellen werden abgeschnitten

27. Juli 2022 Web-Entwicklung von Eric Kubenka

Als ich zuletzt im Rahmen einer anderen Webseite große Tabellen mit weit mehr als 100 Datensätzen mittels Contao erzeugen und darstellen lassen wollte, wurden meine Tabellen beim Speichern im Backend abgeschnitten. Doch nicht nur das, auch andere Eigenschaften des Inhaltselement "Tabelle" wurden nicht mehr korrekt gespeichert, So ging beispielsweise die definierte CSS-Klasse verloren. Woran das liegt? Eine simple PHP-Konfiguration.

Lösung

Aufgrund des Fehlers, dass neben den fehlenden Datensätzen auch andere Eigenschaften des gespeicherten Inhaltselements abgeschnitten wurden, war für mich klar, dass das Ganze vermutlich an einem zu großen Payload oder Ähnlichem liegt. Und tatsächlich begrnezt der mit PHP 5.3.9 eingeführte Konfigurationswert max_input_vars wie viele Input-Variables zeitgleich bei einem POST-Request übergeben werden können. Da Contao bei dem Inhaltselement Tabelle entsprechedn viele Inputvariablen übermittelt, muss dieser Wert angepasst werden.

Der Wert für max_input_vars kann in der php.ini konfiguriert werden. Da ich als Hoster uberspace benutze, habe ich im Verzeichnis ~/etc/php.d eine Datei namens custom_php.ini entsprechend der aktuellen Dokumentation (27.07.2022) angelegt und den Wert dort mit max_input_vars = 10000 definiert. Nach einem php Neustart war mein Problem gelöst und das Speichern der großen Tabellen in Contao möglich.

Links

Zurück