Einer unserer Kunden hat seit etlichen Jahren einen „1&1 Business Pro 5.0“ Account – ein Webhosting-Paket, das unter diesem Namen heute nicht mehr erhältlich ist. Da die Einstellung „memory_limit“ für PHP bei diesem Paket auf 32MB festgesetzt ist (auch wenn phpinfo() einen Wert von 90MB anzeigt), gab es bei diversen Aufgaben, die mehr Speicher benötigten Probleme und Skriptabbrüche der folgenden Art:
Fatal error: Out of memory (allocated 29884416) (tried to allocate 7200 bytes) in /homepages/xxx/wp-includes/media.php on line 258
Das zeigt, dass vom aktuellen Skript mehr Speicher benötigt wird, als zur Verfügung steht. Daher bricht das Skript mit einer Fehlermeldung ab. Leicht lässt sich dies mit dem WordPress-Plugin „WP System Health“ prüfen, das die memory_limit-Einstellung sukzessive bis zum maximal zur Verfügung stehenden Wert austestet.
In der Liste der WebHosting-Pakete bei 1&1 gibt es jedoch eine Auflistung der Beschränkungen denen die PHP-Ausführung auf den Servern unterliegt: Übersicht der Performance-Beschränkungen
Besonders das „Memory Limit“ (über memory_limit konfiguriert) stellt für viele CMS-Installationen ein Problem dar. So auch WordPress, das bei der Verarbeitung von Bildern (und etlichen anderen Aufgaben, wie z.B. der Aktualisierung des Systems) durchaus etwas mehr als die 32 MB Speicher benötigt.
Der Nachfolger des 1&1-Produkts zum gleichen Preis nennt sich „Dual Unlimited“. Nach der Umstellung auf das aktuelle Paket änderte sich die Limitierung von 32MB auf 80MB, was die Probleme sofort beseitigte. Das Paket konnte komfortabel über die Verwaltungsoberfläche bestellt werden (Achtung: neue Mindestlaufzeit von 6 Monaten ab Umstellungsdatum).
Heiko von Code-Syling.de und Macher des WP System Health Plugins hat das Problem genauso gelöst.