contao / contao-manager

Contao Manager
GNU Lesser General Public License v3.0
86 stars 33 forks source link

Contao Manager Installation auf einem 1und1 Server #90

Closed Kondosa closed 6 years ago

Kondosa commented 7 years ago

Der Contao Manager konnte einen Konsolentask nicht starten! Die Ausführung des Hintergrundtasks ist fehlgeschlagen. Sollte dies nochmals passieren, unterstützt der Contao Manager Ihren Server ggf. nicht. Contao 4.4.0 LTS

k-webdesign commented 7 years ago

Vermutlich zu wenig RAM. Ist das wirklich ein Server oder ein Shared Hosting?

aschempp commented 7 years ago

Dieser Fehler kommt wenn der Task nicht gestartet werden konnte (wie da auch steht ;)) und nicht wegen Memory-Limits. In den Alpha-Tests hat 1&1 nicht korrekt funktioniert, welche PHP Version verwendest du?

Kondosa commented 7 years ago

Vielen Dank für die Hilfe, anbei ein paar Informationen: 1und1 Shared Hosting PHP7.0, hatte dann PHP7.1 probiert => gleiches Ergebnis PHP-Pfad wurde von der Installation automatisch erkannt Wurzelverzeichnis gemäß Anleitung auf web/ gesetzt, aber auch eine Ebene höher, kein positives Ergebnis Beim Start popt zwar ein schwarzes Konsolenfenster auf, zeigt aber nichts an.

Nur zur Info: Habe letztendlich von Hand die contao-4.4.0.zip auf den Server geladen und über Install ausgeführt => läuft :-) Werde aber gerne weiter probieren.

k-webdesign commented 7 years ago

Aus bisheriger Erfahrung kann ich sagen, dass der Composer bei 1&1 noch nie geklappt hat, auch nicht auf der Konsole direkt. Auf der Konsole wird dort nur maximal PHP 5.5 angeboten, ich bekam es dort auf einem Shared Hosting leider noch nie sauber zum Laufen: https://community.1und1.de/php-composer-bei-1und1-verwenden/

Wäre auch über Tipps dankbar 😅

Welcher PHP-Pfad wird denn vom Manager erkannt?

aschempp commented 7 years ago

Die grundsätzliche Kompatibilität mit 1und1 wurde in der 1.0.0-beta3 hergestellt. Leider funktioniert es bei 1und1 entweder wegen Memory-Limit oder Prozess-Timeout nicht, der Hintergrundprozess wird bei mir vom Server gekillt. Daran kann der Manager nichts ändern, wir müssten den 1und1 Support kontaktieren um diesbezüglich nachzufragen.

k-webdesign commented 7 years ago

wir müssten den 1und1 Support kontaktieren um diesbezüglich nachzufragen

Soll ich dir einen Kontakt zum Produktmanagement herstellen? Beim Support bin ich schon glatte Wände hoch, über den anderen Weg kommen wir sicherlich weiter.

Kondosa commented 7 years ago

Ok, weiter oben stand noch die Frage aus, welcher Pfad erkannt wurde. Sorry, war paar Tage unterwegs. Der selbstständig erkannte Pfad im Expertenmodus lautet: PHP-Binary: /usr/lib/cgi-bin/php7.1 Ach ja, Vertrag ist ein 1&1 Dual Basic mit 10GB Webspace, witziger Weise mit SSH-Zugang (weiß gar nicht wann der dazu gekommen ist).

aschempp commented 7 years ago

Mit welcher Version wurde dieser Pfad erkannt?

Kondosa commented 7 years ago

Version: 1.0.0-beta1

Ich weiß nicht ob die Info hilft, bei 1und1 habe ich noch die Auflistung: "PHP-Skript-Limits im 1&1 Webhosting" gefunden. Würde für mein Paket bedeuten: MEMORY_LIMIT=60 MB, MAX_EXECUTION_TIME=20s, NPROC=10

9teufel commented 7 years ago

Auch ich bekomme bei Installation auf einem 1und1 Webhosting einen Fehler in der Konsole:

Error: "Out of memory (allocated 376446976) (tried to allocate 16777224 bytes)" in phar:///homepages/xxx/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php on 83

mmap() failed: [12] Cannot allocate memory
mmap() failed: [12] Cannot allocate memory

  [Symfony\Component\Debug\Exception\OutOfMemoryException]                     
  Error: Out of memory (allocated 376446976) (tried to allocate 16777224 byte  
  s)                                                                           

Exception trace:
 () at phar:///homepages/xxx/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php:83

tenside:runtask [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [--disable-events] [--] <command> <taskId>

Process terminated with exit code 255
Reason: Unknown error

Habe ein relativ großes Paket, die php Info sagt memory_limit 256M.

Contao Manager Beta 7

jankout commented 7 years ago

Ich denke, dass die Sache relativ einfach zu erklären ist. Bei 1un1 ist immer noch nicht die aktuellste PHP5.5CLI beim Laufen. Siehe hier.

Ich habe es selber versucht und es ging nicht. Ich denke, dass es gleich daran scheitert.

Vielleicht kann man da noch mehr Druck ausüben, obwohl das einige Nutzer schon seit 2 Jahren (!) machen.

aschempp commented 7 years ago

@jankout Der Link zeigt auf das 1&1 Handbuch für SSH-Benutzer. Der Webprozess hat sehr wohl Zugriff auf eine PHP Binary die neuer als 5.5 ist, sonst würde der Manager gar nicht funktionieren.

@mecintosch Dein Server scheint bei ca. 380MB RAM abzubrechen. Scheint für deine Paketauswahl leider zu wenig zu sein. Das Problem werden wir erst mit der Composer Cloud lösen können 😢

jankout commented 7 years ago

Wie es in der Diskussion unter dem Artikel steht, gibt es leider noch keine PHP-Binary, die für den Coposer brauchbar, also aktuell ist.

aschempp commented 7 years ago

Für Composer ist das richtig, aber nicht für den Manager. Es scheint als ob 1&1 ein Chailroot für SSH macht, denn der Manager (als Webprozess) sieht sehr wohl andere Binaries (siehe https://github.com/contao/contao-manager/blob/develop/api/Resources/config/providers.yml#L56)

Kondosa commented 7 years ago

Hey Leute was habt ihr getan...? Irgendwie ging an mir vorbei, dass es den Contao Mager in Version 1.0.0-beta7 gibt. Ungeduldig wie ich bin, gleich probiert. Ergebnis: In einem Rutsch ohne zu murren durchgelaufen und Contao Version 4.4.1 installiert. War das Absicht, Zufall oder hat sich 1und1 mittlerweile bewegt? Wie auch immer, ich bin glücklich... Braucht ihr noch irgendwelche Informationen? (PHP-Info sagt übrigens: memory_limit 128M und PHP Version: 5.6.30-12+0~20170614060714.1+jessie~1.gbp12ca9d, das 1und1 Backend steht auf PHP-Version PHP 7.1)

jankout commented 7 years ago

Hallo, tatsächlich kann man Contao 4.4.1 mit der CM-Beta7 installieren. Sobald ich aber versuche, eine Erweiterung zu installieren, stoße ich gleich auf die RAM-Einschränkung.

snimek obrazovky 2017-07-13 v 9 53 05
9teufel commented 7 years ago

Hab es eben nochmal versucht. Bei der Installation von Contao 4.4.1 CM beta8 erhalte ich den Fehler: Process terminated with exit code 137

Habe unter PHP 5.6, 7 und 7.1 getestet. Er bricht jedes mal bei einer anderen Stelle ab.

memory_limit 256 MB

Komisch dass die Installation bei all-inkl. läuft. Dort habe ich nur 128 MB.

heimseiten commented 7 years ago

Evtl. der gleiche Fehler wie bei Hetzner (#125)?

Dort wird auch "Process terminated with exit code 137" angezeigt.

daCaPo commented 7 years ago

Process terminated with exit code 137

erhalte ich auch zuverlässig, wenn ich im Manager die Pakete aktualisieren möchte (die Installation per CM hat problemlos funktioniert, Beta 8):

bildschirmfoto 2017-07-13 um 11 58 58

daureluc commented 7 years ago

I also have error code 137, but my php.ini config is memory 512M and timeout is 60s so can't be that the problem. I have been able ot install the contao manually, but i can't install any extension since i get this error constantly. Any other ideas? thanks

9teufel commented 7 years ago

1und1 allows in your case 512M, but apparently one process can't use the whole memory. So e.g. 10 processes can use 512M at the same time with each ~50M.

jankout commented 7 years ago

Gerade bei 1un1 mit der 10. Beta probiert. Leider scheitert das weiterhin an derselben Fehlermeldung.

SGehle commented 7 years ago

Gleiches Problem bei 1&1 trotz:

memory_limit = 1024 max_execution_time = 360

Error: "Out of memory (allocated 484450304) (tried to allocate 12288 bytes)" in phar:///homepages/15/d697471085/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php on 36

mmap() failed: [12] Cannot allocate memory

mmap() failed: [12] Cannot allocate memory

[Symfony\Component\Debug\Exception\OutOfMemoryException]
Error: Out of memory (allocated 484450304) (tried to allocate 12288 bytes)

Exception trace: () at phar:///homepages/15/d697471085/htdocs/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php:36

tenside:runtask [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [--disable-events] [--]

Process terminated with exit code 255 Reason: Unknown error

sdahlmann commented 6 years ago

Update bezüglich 1&1: Ich stehe aktuell mit dem technischen Support von 1&1 bezüglich des Memory Problems bei 1&1 shard Hosting und dem Contao Manager in Kontakt (Es geht um ein Kundenhosting von einem meiner Kunden - Paket Unlimited Plus, Speicher 6 GB RAM, PHP-Memory 640 MB, SSD-Festplatte). Wie mit 1&1 vereinbart, lasse ich dem 1&1 Support zeitnah Details bezüglich des technischen Problems (inkl. Screnshots etc.) zukommen und die wollen dann versuchen das Problem mit mir zusammen zu lösen. Ich werde berichten, ob es gelingt eine Lösung für das Memory Problem zu finden und wenn ja, wie dieses aussieht. Sollten für die Lösung des Problems Anpassungen am Contao Manager erforderlich sein, wie trete ich dafür am besten direkt mit den Contao Entwicklern in Kontakt?

sdahlmann commented 6 years ago

Update bezüglich 1und1: Ich habe vom Support folgende Antwort bezüglich der Speicherfehlermeldung bekommen:

Sehr geehrter Herr Dahlmann, vielen Dank für Ihre Anfrage. Ihrem Benutzer stehen auf der Shell maximal 768MB zu Verfügung. Die Zuteilung von mehr Speicher würde die Stabilität des Servers gefährden. Im Shared Webhosting kann ich Ihnen daher leider keine Lösung anbieten. Freundliche Grüße 1&1 Kundenservice

Diese Antwort von 1&1 macht mich bezüglich dem Contao Manager und dem Composer doch sehr Nachdenklich. Sind für den Contao Manager und Composer um Erweiterungen zu installieren mehrere GB RAM auf der shell erforderlich? Ich wollte lediglich 3 kleine Erweiterungen installieren und schon bei der ersten kam der Speichererror. Mich würde es sehr freuen, wenn mich mal jemand aufklären könnte, was für Hostinganforderungen an Speicher der Contao Manager und der Composer hat. Wieviel Speicher von welchen wird mindestens durchschnittlich gebraucht, was natürlich davon Abhängt, wieviele und welche Erweiterungen man installiert hat bzw. installieren möchte.

nohi79 commented 6 years ago

Hallo Zusammen, ich habe auch das Problem, dass der composer beim Update abbricht. Hab in meinem Paket 768 MB memory_limit, und diese stehen auch in der Shell zur Verfügung. Diese scheinen aber trotzdem nicht auszureichen. :-(

mmap() failed: [12] Cannot allocate memory
mmap() failed: [12] Cannot allocate memory
Fatal error: Out of memory (allocated 619716608) (tried to allocate 4096 bytes) in phar:///homepages/30/d16756752/htdocs/nh2media.de/htdocs/composer.phar/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Eine Neuinstallation von Contao 4 mittels composer läuft hingegen ohne Probleme durch.

aschempp commented 6 years ago

Das benötigte Memory-Limit ist abhängig von vielen Faktoren (PHP-Version, installierte Erweiterungen etc.). Die einzige Lösung dafür ist die Composer Cloud, ein externer Dienst welche die Memory-Intensiven Aufgaben übernimmt. Daran wird zur Zeit gearbeitet.

leofeyer commented 6 years ago

Das Problem mmap() failed: [12] Cannot allocate memory auf der Konsole (also in einer Shell) muss nicht zwangsläufig vom PHP Memory-Limit kommen.

@mecintosch @SGehle @normanhildenbrand Könnt ihr bitte mal ulimit -a auf der Kommandozeile ausführen und die Ausgabe hier posten?

n00byfied commented 6 years ago

Hi, ich habe trotz php_memor limit 524M leider das gleiche Problem. Wenn ich ulimit -a eingebe kommt folgendes:

core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 1 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 512 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) 1800 max user processes (-u) 42 virtual memory (kbytes, -v) 786432 file locks (-x) unlimited

Woran könnte es liegen?

nohi79 commented 6 years ago

Hier das Ergebnis: core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 1 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 512 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) 1800 max user processes (-u) 42 virtual memory (kbytes, -v) 786432 file locks (-x) unlimited

leofeyer commented 6 years ago

Ich tippe auf virtual memory (kbytes, -v) 786432. Könnt ihr das vom Support mal testweise auf 2000000 setzten lassen?

nohi79 commented 6 years ago

Ich versuchs! Bei 1&1 ist das mit dem Support ja so ne Sache ;-)

nohi79 commented 6 years ago

Wie schon vermutet, hier die Antwort vom Support:

Sehr geehrter Herr Hildenbrand,

es tut mir leid, aber das Skript Limit können wir auch nicht testweise auf den Wert hochsetzen. Ich bedaure sehr, dass ich Ihnen dieses Mal keine Lösung anbieten kann.

Freundliche Grüße

1&1 Kundenservice

jankout commented 6 years ago

Einfach weg von 1un1. Die sind nicht mehr in der Lage, etwas gutes und modernes anzubieten. Ich habe sehr gute Erfahrungen mit all-inkl.com.

petrad commented 6 years ago

Hallo, meines Erachtens liegt das Problem bei 1&1 an dem memory_limit für Shell (falls es das so gibt). Habe auf einem 2-jährigen Unlimited Plus ohne Probleme Contao 4 plus Erweiterungen mit dem Manager eingerichtet. Bei einem anderen nagelneuen Unlimited Plus stehen in der phpinfo() identische Werte, allerdings hat das 2-jährige Paket bei dem Befehl vmstat -s viel höhere Werte. Daher läuft das 2-jährige Paket mit Contao, das neue Paket nicht. Die Werte beim virtual memory sind bei beiden identisch (786432).

Stehe aktuell auch mit dem Support im Mailaustausch, damit es beim neuen Paket (hoffentlich) hochgesetzt wird. Allerdings schrieb der Support beriets "es kann durchaus der Fall sein, dass verschiedene Server aufgrund der Hardware verschiedene Voreinstellungen des Memory Limits usw haben. Auch haben wir mehrere Unlimited Verträge, die auch unterschiedliche Werte haben können."

theresiak commented 6 years ago

Hallo, ich habe gestern auch Kontakt mit dem 1&1 Support gehabt. Mir wurde folgendes in Bezug auf das memory_limit gesagt und der Fehlermeldung „Cannot allocate memory“: Ich soll überprüfen welche Contao-Edition (Standard oder Managed) ich installiert habe. Man soll wohl lieber mit der Standard-Edition arbeiten, weil die keinen Schreibschutz besitzt, wenn man mit der php.ini Änderungen vornehmen möchte, wie z.B. das memory-limit hochzusetzen. Ich war dann bisschen verwirrt. Was soll das mir sagen? 1. Ich könnte es hochsetzen, aber leider habe ich die falsche Edition? Nach meinen Kenntnissen, soll doch eh nur noch die Managed-Edition verwendet werden und die Standard wird nicht weiter entwickelt... Und 2. dachte ich, wollen die Hoster gar nicht unbedingt, dass man selbst was an den Werten ändert?! Ich weiß nicht, ob das Statement hier irgendwie hilfreich ist. Aber es zeigt wie unterschiedlich die von 1&1 darauf reagieren.

Toflar commented 6 years ago

Die Standard-Edition wird abgeschafft und war immer schon für Entwickler gedacht (https://contao.org/de/news/contao-herunterladen-2017.html). Es gibt keinen Unterschied zwischen der SE und der ME was die Funktionalität angeht. Die SE war einfach ein Beispiel wie man Contao zu einer bestehenden Symfony Applikation hinzufügen kann. Das ist dann der Fall, wenn du 90% Spezialanforderungen und noch ein bisschen CMS brauchst. Wenn man ausschliesslich Contao betreiben will, ist die ME immer die richtige Wahl. Die Aussage ist also völlig falsch und noch wenn es die SE weiterhin geben würde, was sollte das mit Schreibschutz zu tun haben und was überhaupt soll Schreibschutz mit Memory zu tun haben? Aber was soll's...schon alleine wenn ich

verschiedene Server aufgrund der Hardware verschiedene Voreinstellungen des Memory Limits

lese ist das für mich Grund genug für einen Wechsel. Wenn jeder Server bisschen vor sich hin gammelt kann ich mir vorstellen, wie aktuell die eingesetzte Software auf diesen Servern ist.

nohi79 commented 6 years ago

Ich habe das Update jetzt lokal per composer durchgeführt. Danach eine Zip vom htdocs erstellt und wieder auf den Webserver hochgeladen. Danach gehen aber aus irgendwelchen Gründen 4 symbolische Links kaputt. ✘ system/themes/flexible The path "system/themes/flexible" exists and is not a symlink.
✘ web/assets The path "web/assets" exists and is not a symlink.
✘ web/system/themes The path "web/system/themes" exists and is not a symlink.
✘ system/logs The path "system/logs" exists and is not a symlink.

Hat jemand eine Idee?

Zwergenmeister commented 6 years ago

Hab die selben Probleme bei 1und1, 4 Installationen von Contao 4 mit Manager durchgeführt alles ohne Probleme durchgelaufen, Contao update Fehlanzeige der Composer macht Ärger .... eigentlich auch 768 MB RAM Unlimited Pro (2015) Mit Contao 3 composer benutzt da lief es noch mit 768MB es wird immer mehr .... Kann auch noch mal Druck auf 1und1 machen und Feedback hinterlassen.

Klar kommt wieder 1und1 ist scheiße wechsel doch nur so einfach ist das nicht immer....

Gibt es eine verlässliche Auskunft viel viel RAM Contao 4 braucht ohne Erweiterungen ?

Wann kommt die Composer Cloud ? Das alte Liveupdate war super hab dafür auch gerne bezahlt, das funktionierte immer ohne Probleme, Seit dem es Composer gibt immer wieder RAM Probleme.

Loading composer repositories with package information Updating dependencies Error: "Out of memory (allocated 860889088) (tried to allocate 33554432 bytes)" in phar:///homepages/41/d122399180/htdocs/ddddddd.de/contao/web/contao-manager.phar.php/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php on 220

mmap() failed: [12] Cannot allocate memory

mmap() failed: [12] Cannot allocate memory

Process terminated with exit code 1 Reason: General error

Toflar commented 6 years ago

Gibt es eine verlässliche Auskunft viel viel RAM Contao 4 braucht ohne Erweiterungen ?

Nein, die gibt es nicht. Abhängigkeitsauflösungen sind ein NP-komplettes Problem. Es gibt mathematisch (noch) keinen Weg sie effizient zu lösen und du kannst daher auch im Voraus nicht sagen, wie viele Ressourcen dafür benötigt werden. Ausserdem ist es nicht für alle gleich, denn die individuellen Plattform-Informationen spielen auch in die Auflösung mit rein. Und je mehr Pakete und Versionen hinzukommen, umso aufwändiger wird es.

Zwergenmeister commented 6 years ago

Danke Toflar für die Erläuterung, aber ich möchte damit doch nicht zum Mond fliegen, möchte doch nur Contao nutzen wie die letzten 9 Jahre auch,... Ein Contao mit max 2-4 Erweiterungen kann doch nicht mehr als 1 GB Ram benötigen, mann muss doch auch die Abhängigkeiten einschränken können, oder das Problem wenn nicht genug RAM vorhanden ist auslagern und in einer Datei schreiben...

Toflar commented 6 years ago

Ich werde nicht weiter darauf eingehen, es gibt tausende Beiträge warum Composer der richtige Weg ist, inkl. allen Vorteilen und Nachteilen des Erfüllbarkeitsproblems.

das Problem wenn nicht genug RAM vorhanden ist auslagern und in einer Datei schreiben...

Das geht schon immer, es nennt sich Memory Swap. Wenn dem System RAM ausgeht, schreibt es auf die HD. Nur muss es entsprechend konfiguriert werden.

Und ja, "man" könnte Abhängigkeiten sicher optimieren, "man" könnte die Auflösung effizienter machen, "man" könnte PHP optimieren, "man" könnte die Auflösung in einer Cloud vornehmen oder "man" könnte eine eigene Lösung für Contao bauen. "man" kann alles.

nohi79 commented 6 years ago

Hi Yanick,

ich glaube es zweifelt hier niemand die Nutzung von Composer an. Auch wir denken, dass dies der richtige Weg ist. Nur musst Du uns Anwender auch ein bisschen verstehen. Wir waren es über Jahre hinweg gewohnt, Contao über das Backend zu verwalten (Core Updates wie auch Plugin-Updates) Hierzu brauchte man keine speziellen Kenntnisse, dass konnten teilweise meine Kunden sogar selber erledigen. Diese Einfachheit hat Contao auch mit groß gemacht! Mit dem Composer hat sich dieser "Luxus" leider verabschiedet, und man muss sich jetzt mit der Console auseinandersetzen. Ohne den Composer konnte man Contao auf fast jedem Webserver laufen lassen, auch bei "unflexiblen" Providern wie 1&1. Durch den Composer haben sich die Anforderungen an den Webserver um einiges erhöht. Auch hier keine Schuldzuweisung an die Entwickler, aber wir würden uns hier einfach ein bisschen mehr Support wünschen. Ihr habt das Knowhow, und vllt. gibt es doch ein paar Tricks oder Settings, wie man die Sache doch zum laufen bringen kann. Ich habe z. B. bei 1&1 über 25 Installationen mit Contao 3 am laufen. Diese Kunden jetzt zu einem neuen Provider umzuziehen ist wie Du auch weißt, mit ein bisschen Aufwand verbunden. Bitte nicht falsch verstehen, aber wir möchten gemeinsam voran kommen :-)

Zwergenmeister commented 6 years ago

Kann mich Norman nur anschließen, ich habe kein Problem damit den Composer zu nutzen, auch die Idee der Entwickler den Contao Manager einzubauen kann ich nur unterstützen sieht auch prima aus und läuft das was ihr da gebaut habt seitens Contao. Wenn der Composer nicht immer Zicken machen würde. Habe meine Installationen jetzt von 3.5 nach 4.4 portiert und alle Nacharbeiten gemacht, muss mich jetzt zusätzlich in den Workaround lokale installation / Composer Update einlesen.

Trotzdem wäre die Einfachheit wie sie auch mit dem Contao Manager gedacht ist in Zukunft echt spitze. Contao ist ein sehr zuverlässiges und schön einfaches CMS System mit viel Community, was es hoffentlich auch bleibt doch leider macht sich der Unmut ein bisschen breit, wenn einem immer wieder Steine in den Weg gelegt werden.

Und Ja 1und1 ist nicht der beste Hoster und leider der größte der Unmut bezüglich PHP und Composer Update macht sich auch hier breit. Da sind auch einige Contao Kommentare, schöne wäre wenn sich 1und1 darauf einlassen würde den Speicher Kostpflichtig für einen Update Zeitraum zu erweitern.

https://community.1und1.de/php-composer-bei-1und1-verwenden/

SpeGal commented 6 years ago

Ich gehe stark davon aus, dass die Programmierung des Contao-Managers fehlerhaft ist. Wir sind Platin-Kunde bei 1&1 und haben unseren eigenen Profi-Ansprechpartner, der echt was drauf hat und sich auskennt. Der meinte, dass wir im Unlimited Pro 20 mal 500 MB memory limit haben, die sich jeweils nicht blockieren. Das sollte für sämtliche denkbare Operationen ausreichend sein.

Er geht davon aus, dass die Programmierung entweder das Limit künstlich herunter setzt oder aber einen zu hohen Vorabprüfwert an den memory limit stellt, der nicht erfüllt wird und der Prozess so gar nicht gestartet wird, obwohl der tatsächlich benötigte memory limit ausreichend wäre.

Leider kenne ich mich mit der Manager-Programmierung nicht gut genug aus, aber ich habe manche Stellen gesehen, die mir schon etwas komisch scheinen. Z.B. in Zeile 2469:

$memoryLimit = trim(ini_get('memory_limit')); // Increase memory_limit if it is lower than 1.5GB if ($memoryLimit != -1 && $memoryInBytes($memoryLimit) < 1024 * 1024 * 1536) { @ini_set('memory_limit', '1536M'); } unset($memoryInBytes, $memoryLimit);

1.5GB? What? Wer hat denn so einen riesen Memory-Limit und für was wird das gebraucht? Das ist doch nur Übertreibung und der Manager braucht das gar nicht in echt. Aber da er mit den Anforderungen an den Server geht, sagt der natürlich "na hör mal, so viel kriegst du nicht" und der Manager ist dann beleidigt und macht nicht weiter.

Kann das jemand bestätigen oder revidieren?

frontendschlampe commented 6 years ago

hehe ... doch doch ... die 1,5 GB braucht er und das ist noch wenig bei extremen Paketauflösungen. Du musst bedenken, dass der Manager aka. Composer jedes einzeln abhängige Paket gegen jedes Paket prüft inkl. deren Abhängigkeiten inkl. deren Abhängigkeiten usw. ... von daher ist es einfach so ... dann nützten auch 20 mal 500 MB nichts, denn das Memory-Limit bleibt 500 MB, obwohl er einfach mal mehr braucht. Ihm würde sicherlich einmal 2000 MB reichen ... ;-)

Zwergenmeister commented 6 years ago

Danke das ist mal eine Aussage also benötigt ein nacktes Contao mind. 1,5 GB um im composer Updates durchzuführen, bei 4-5 Erweiterungen dann bestimmt 2,5 GB und mehr ... ? Also bleibt allen 1und1 Kunden nur ein Wechsel über oder der lokale Entwicklungsaufwand oder die Hoffnung auf die Contao Composer Cloud ....

Das ist schon eine Anforderung auch an andere Anbieter.

SpeGal commented 6 years ago

Das würde ja bedeuten, dass alle normalen Hosting-Pakete für Contao 4 nicht ausgelegt sind (bzw. andersrum). Wer macht so was? Damit steht der Fortbestand von Contao auf der Kippe und das sieht man ja auch an den vielen Rückmeldungen von verzweifelten Usern, die mit Contao nicht mehr weiter arbeiten können. Ich habe keine Zeit einen eigenen Server für Contao 4 aufzusetzen und zu warten, nur damit der überdimensionierte Memory Limit ausreicht. Da muss es doch eine bessere Lösung geben! Und wenn nicht, dann lieber wieder back to the roots und das Erweiterungstool von Contao 3 implementieren. Ein CMS muss einfach sein und auf normalen Hostingpaketen einsetzbar, sonst hat es auf breiter Fläche keine Überlebenschance!

discordier commented 6 years ago

Leider kenne ich mich mit der Manager-Programmierung nicht gut genug aus [...]

Sei mir nicht boese, aber das merkt man.

$memoryLimit = trim(ini_get('memory_limit')); // Increase memory_limit if it is lower than 1.5GB
if ($memoryLimit != -1 && $memoryInBytes($memoryLimit) < 1024 * 1024 * 1536) {
   @ini_set('memory_limit', '1536M');
}
unset($memoryInBytes, $memoryLimit);

Es wird VERSUCHT das limit herauf zu setzen, wenn dies nicht klappt, dann VERSUCHT der manager zu arbeiten, bricht jedoch erst dann ab, wenn wirklich kein memory mehr geholt werden kann (Die Meldung Error: "Out of memory (allocated XXXX) (tried to allocate YYYY bytes)" besagt dies dann). Der Speicher wird jedoch nur alloziiert, wenn er wirklich gebraucht wird und nicht pre-emptiv.

Der Speicher WIRD benoetigt um alle legalen Paketkombinationen durchzuspielen. Minimales Bsp: 2 Pakete in je 4 Versionen => 8 Kombinationsmoeglichkeiten.

Nun extrapolieren wir dies auf mehrere tausend Pakete in mehreren hundert Versionen und du hast schon ein paar mehr Moeglichkeiten die du durchrechnen musst.

1&1 geht nun noch schoen vor und splittet deinen garantierten memory (20*500M = 10GB) in Haeppchen pro Prozess. Ein Prozess braucht zum durchspielen dieser Moeglichkeiten ein bestimmtes Speicherkontingent, nehmen wir einfach mal 1GB an. Bei dir ist jedoch immer bei 500MB Schluss, weshalb es nie zum Ende kommt.

1.5GB? What? Wer hat denn so einen riesen Memory-Limit und für was wird das gebraucht?

Eine Liste von Hostern und Erfahrungsberichte findest du hier: https://github.com/contao/contao-manager/wiki

Wofuer der Speicher gebraucht wird, kannst du dir ansehen wenn du im Composer den Resolver und den Paket Pool ansiehst (Achtung, da muss man schon Platinum-Programmierer sein um das zu durchschauen).

Fazit: Einfach vermuten dass der Manager dies nicht braucht ist schoen und gut, aber an der Problematik denken nun schon einige Jahre viele gute Programmierer rum und selbst diese finden keine besseren Wege. Glaube mir, es geht nicht besser, schneller und speicheraermer.

Dir bleibt nun die Option:

SpeGal commented 6 years ago

Danke für die Info. Werd mich damit nochmal an meinen Platin-Freund wenden ;)

oder aber die Abhaengigkeiten lokal aufloesen zu lassen und online per Console vom lock file zu installieren (das mache ich immer so, da es noch andere Vorteile bringt).>

Ehm, klar mach ich. Könntest du mir nochmal auf die Sprünge helfen, was genau das bedeutet? :)