Closed Xendiadyon closed 7 years ago
Nachtrag: Die Installation ist fehlgeschlagen und lief nicht korrekt durch. Nun erhalte ich im Contao-Manager die Fehlermeldung, dass sich ein unbekannter Ordner im System finden würde.
Ich muss also diesen Ordner löschen und die ganzen vendor-Dateien noch einmal runterladen, anstatt einfach diese bestehende/halbfertige Version verwenden zu können.
Das Ticket wurde nach contao/contao-manager#136 verschoben.
Bei Domainfactory habe ich das Problem, dass ich auf eine temporäre Datei, die von einem vorher gelaufenen Skript erstellt wurde, nicht öffnen/lesen/bearbeiten kann.
Dadurch erhalte ich beim Update per Composer Fehlermeldungen und kann nicht erfolgreich ein Update durchführen:
Das ist in erster Instanz von Domainfactory so gedacht: https://www.df.eu/de/support/df-faq/webhosting/skriptsprachen/php/
Nun muss ich aber drei Tage warten, bis der tmp-Ordner entfernt wurde und ich diese /tmp/sf.contao-install.[hashwert].lock-Datei neu erstellen und dann auch lesen kann.
Frage 1: Warum wird immer derselbe Hashwert für die Temp-Datei generiert? Gibt es hier die Möglichkeit, einen neuen Hash-Wert generieren zu lassen?
Um dieses Problem zu umgehen habe ich einen anderen, neuen temporären Ordner in der php.ini mit sys_temp_dir definiert:
Diese php.ini wird auch geladen, das kann ich herausfinden, wenn ich die phpinfo aufrufe:
php7.0.6-cli -c /kunden/[kundennummer]/kunden/[kunde]/php.ini phpinfo.php
composer.phar update ausführe. Sobald ich aber den Composer aufrufe, "vergisst" Symfony, dass eigentlich eine php.ini aufgerufen sein müsste:php7.0.6-cli -c /kunden/[kundennummer]/kunden/[kunde]/php.ini composer.phar
-> Wenn ich in irgendwelchen ausgeführten Dateienecho sys_get_temp_dir()
ausführe, erhalte ich immer "/tmp"Frage 2: (ja, ich weiß, dass es eher mit Composer/Symfony zu tun hat) Wie kann ich Symfony überreden, meine php.ini auch weiterhin zu verwenden?
Beim Install von Contao wird dann auf die sys_temp_dir-Variable der php.ini nicht zugegriffen. Dies ist auch exakt so im contao-manager, selbst wenn ich bei dem "Pfad zur php-bin" alles inkl. php.ini angebe:
Wenn ich als blöden Hack beim Initialisieren den temp-Dir per Hand setze, funktioniert die Installation:
Generell: Ja, der Fehler liegt zum größten Teil an der Konfiguration des Servers/Domainfactory, da Temporärdateien in /tmp, die von einem anderen Prozess erstellt werden, von niemandem mehr geöffnet, erstellt oder gelöscht werden können. Ich sehe aber auch eine Teilschuld an Contao, dass der Hash beim Installieren immer der gleiche sein soll und nicht geändert werden kann.
So wie es gerade ist, muss ich entweder händisch reinfingern oder muss 3 Tage warten, bis ich bei Domainfactory einen Update machen kann (ja, Admin und Support sind benachrichtigt)