Ja, da ich nicht weiter gekommen bin - habe ich es mal mit Joomla probiert und habe auch dort wieder massig Probleme bekommen.
Dort habe ich aber auch eine schlüssige Erklärung zu dem vermutetem Problem gefunden und die möchte ich Euch natürlich nicht vorenthalten:
Zitat[LEFT]Sonderfall 1&1
Einen Sonderfall bei den Uploadbeschränkungen stellen diverse Pakete von 1&1 dar. Die oben genannten Einstellungen in der php.ini sind in diesen Paketen absolut ausreichend gesetzt (max_execution_time 50000, max_filesize 8M, memory_limit 40M, post_max_size 8M, upload_max_filesize 20M), so dass es eigentlich nicht zu Abbrüchen kommen sollte.[/LEFT] [LEFT]Trotzdem erscheint beim Upload etwas größerer Bilder (etwa ab 400 KB) eine Fehlermeldung wie "Internal Server Error 500". Diese Fehlermeldung wird im Gegensatz zu den oben behandelten Fehlermeldungen nicht von PHP ausgegeben, sondern vom Server selbst, dem Apache. Und das heißt, dass in diesem Fall nicht die üblichen Verdächtigen, also die PHP-Einstellungen, die Ursache für den Abbruch sind, sondern die Einstellungen im Apache. Und die greifen unabhängig davon, welche PHP-Einstellungen gesetzt sind.[/LEFT] [LEFT]Laut 1&1-Support gibt es nur drei Ursachen für eine 500-Seite:[/LEFT]
- das Skript startet mehr als 24 Prozesse auf dem Server
- die Prozessorzeit von 10 Sekunden wird überschritten oder
- der maximale virtuelle Speicher von 32 MB wird überschritten
[LEFT]zu 1: diese Ursache läßt sich ausschließen, da bei kleineren Bildern der Upload ja funktioniert und bei größeren ja nicht mehr Prozesse gestartet werden...[/LEFT] [LEFT]zu 2: bei der Prozessorzeit handelt es sich um etwas anderes als die max_execution_time! Die Prozessorzeit beschreibt die Zeit, die der Prozessor des Servers mit den Aufgaben beschäftigt ist, welche das Skript gerne von ihm abgearbeitet haben möchte. Dabei sind die 10 Sekunden relativ und beschreiben nur den Ernstfall der Vollauslastung des Prozessors. Demnach wird das Skript terminiert, wenn es den Prozessor länger als 10 Sekunden auf 100 Prozent Auslastung hält. Bei einer 10%-igen Auslastung des Servers über angenommene 2 Sekunden wäre die Prozessorzeit bei 0,2 Sekunden, bei einer 50%-tigen Auslastung über 10 Sekunden wäre die Prozessorzeit bei 5 Sekunden. Demnach ist es mit an Sicherheit grenzender Wahrscheinlichkeit unmöglich, dass dies die Ursache für den Abbruch ist. Denn solange dauert der Vorgang selbst bei großen Bildern nicht und der Upload selber beansprucht kaum Prozessorzeit.[/LEFT] [LEFT]zu 3: die JoomGallery nutzt z.Z. die GD, die GD2 und die ImageMagick-Bibliothek für die Manipulation der Bilder; zum Beispiel für die Verkleinerung auf Detail-Bildgröße oder auf Thumbnail-Bildgröße. Die GD funktioniert so leidlich. Die Qualität nimmt merklich ab, wenn man sie benutzt und außerdem benötigt sie enorme Speicher-Ressourcen. Aber sie wird auf fast allen Servern eingesetzt, da sie mittlerweile auch Bestandteil der PHP-Installation ist. Der Speicherbedarf beim Verkleinern der Bilder ist relativ groß und je größer die Bilder sind, umso mehr steigt er an. Aber dass er bei einem 400-KB-Bild über 32 Mb ansteigen soll, erscheint mir fast unmöglich und trotzdem scheint hier die Ursache des Problems zu liegen. Nach Auskunft einiger Anwender scheint diese Problem nicht mehr aufzutreten, wenn die ImageMagick als Bildbearbeiter ausgewählt ist.[/LEFT] [LEFT]Und was sagt uns das jetzt? An die Einstellungen des Apache kommt man natürlich noch weniger dran, als an die PHP-Einstellungen. Und nach meinem Kenntnisstand ist dieses Verhalten nur bei 1&1 bekannt und tritt - nach den Schilderungen diverser Benutzer in den einschlägigen Foren - auch bei Uploads anderer Galerien wie Zoom oder ICE regelmäßig auf. Es liegt also nicht an unseren Skripten, sondern vielmehr an den Vorgaben von 1&1. Die werden aber auch auf Bitte daran nix ändern. Da dieses Verhalten ausschließlich auf den 1&1-Servern auftritt, sehen wir uns auch nicht gezwungen, über unseren Code nachzudenken, nur um das 1&1-Problem zu umgehen.[/LEFT] [LEFT]Ich hoffe, dass dieser Beitrag ein wenig zum Verständnis der Vorgänge beim Upload durch die JoomGallery beiträgt. Wie Ihr seht, sind die Grenzen fast ausschließlich serverseitig gesetzt. Die Galerie hat keinen Einfluß auf die PHP-Einstellungen. Deswegen gibt es ja auch mittlerweile den FTP-Upload, der eigentlich nur noch durch max_execution_time ausgebremst werden kann und so die meisten Fallstricke bei den Einstellungen der php.ini umgeht.[/LEFT] [LEFT]Natürlich gibt es noch viele andere Faktoren, die einen Upload behindern können (wwwrun etc.). Aber darüber ein anderes Mal.[/LEFT]
Ich hoffe, daß dies auch dem einen oder anderen Freund weiter hilft und Zeit spart, bei der "eigenen" Fehlersuche.
Einen Kommentar erspare ich mir an dieser Stelle!
Viele Grüße
Ralf