Moin!
ich habe bei einem Kunden mit 1&1-Account ein Bildverarbeitungsscript laufen, und musste feststellen, dass dieses bei imagecreatetruecolor sang und klanglos abbricht, wenn die Parameter eine bestimmte Bildgrösse überschreiten. Irritiert hat mich hierbei, dass keinerlei Fehlermeldung zurückgeliefert wurde, der Quellcode enthielt lediglich eine "1" (auch bei error_reporting E_ALL).
Werden dir ansonsten denn Fehlermeldungen angezeigt? Also auch die mit anderen Ursachen, z.B. Syntaxfehler? Wenn nein, könnte es daran liegen, dass die Fehler nicht an den Browser, sondern an das Logfile geschickt werden.
Die Ausgabe der Funktion phpinfo() sagt dir dazu mehr. Stichworte: display_error, log_error.
Ist das normal, dass sich ein Überschreiten des memory_limits so auswirkt, oder ist das 1&1 spezifisch? Ist es überhaupt das memory_limit, aber was sollte es sonst sein?
Du kannst mit der Funktion ini_get() die aktuell wirksame Einstellung für das Memory-Limit ermitteln. Daraus ergibt sich dann direkt die ultimativ maximal mögliche Bildgröße unter besten Bedingungen (d.h. in der Regel muss deine maximale Bildgröße kleiner sein, weil du ja auch noch Platz für andere Variablen brauchst). Für den Byteverbrauch des Bildes darfst du rechnen: Pixelzahl X * Pixelzahl Y * 3 Byte. Ein Bild 2000 * 2000 Pixel benötigt also 12 MB. Das Memory-Limit sollte deshalb deutlich darüber liegen.
- Sven Rautenberg