J
Janniboy
Gast
Hallo liebe Community,
ich stehe gerade vor einem kleinen Problem und komme nicht mehr weiter.
Ich habe ein System auf mehreren Servern laufen. Wenn ich nun mein Script aktualisiere, muss ich dies auf allen Servern per FTP mühselig einspielen und das wird bei steigender Zahl wirklich zeitaufwändig und nervig.
Ich habe mir nun ein Script geschrieben, was auf einem Update-Server eine TXT-Datei ausliest in der die aktuelle Versionsnummer steht und per version_compare() schaut, ob ein Update nötig ist oder nicht. Wenn nein, ist das Script an der Stelle zu Ende, wenn doch, dann geht es los.
Das Script lädt sich dann das aktuelle ZIP-Paket herunter per file_get_contents() und entpackt es in einem temp-Ordner.
Bis hier hin ist alles wunderbar, das läuft echt klasse.
Mein Problem ist nun das verschieben und ersetzen der ganzen Dateien. Wenn ich mit PHP direkt das ZIP-Archiv im Stammverzeichnis entpacke überschreibt er alles und es läuft. Auf manchen Servern allerdings läuft PHP nicht als Modul und ich bekomme immer die Meldung Permission denied!.
Nun dachte ich mir, verschiebe ich die Dateien halt mit PHP-FTP und der Funktion ftp_rename(). Doch hier ist das Problem, das diese Funktion Ordner umbenennen kann aber schon bestehende Ordner nicht überschreibt und genau das soll das Script aber machen, um alte Dateien gegen die neuen zu ersetzen.
Hat vielleicht jemand eine Idee, wie ich das in den Griff kriege?
Ich danke im Voraus!
ich stehe gerade vor einem kleinen Problem und komme nicht mehr weiter.
Ich habe ein System auf mehreren Servern laufen. Wenn ich nun mein Script aktualisiere, muss ich dies auf allen Servern per FTP mühselig einspielen und das wird bei steigender Zahl wirklich zeitaufwändig und nervig.
Ich habe mir nun ein Script geschrieben, was auf einem Update-Server eine TXT-Datei ausliest in der die aktuelle Versionsnummer steht und per version_compare() schaut, ob ein Update nötig ist oder nicht. Wenn nein, ist das Script an der Stelle zu Ende, wenn doch, dann geht es los.
Das Script lädt sich dann das aktuelle ZIP-Paket herunter per file_get_contents() und entpackt es in einem temp-Ordner.
Bis hier hin ist alles wunderbar, das läuft echt klasse.
Mein Problem ist nun das verschieben und ersetzen der ganzen Dateien. Wenn ich mit PHP direkt das ZIP-Archiv im Stammverzeichnis entpacke überschreibt er alles und es läuft. Auf manchen Servern allerdings läuft PHP nicht als Modul und ich bekomme immer die Meldung Permission denied!.
Nun dachte ich mir, verschiebe ich die Dateien halt mit PHP-FTP und der Funktion ftp_rename(). Doch hier ist das Problem, das diese Funktion Ordner umbenennen kann aber schon bestehende Ordner nicht überschreibt und genau das soll das Script aber machen, um alte Dateien gegen die neuen zu ersetzen.
Hat vielleicht jemand eine Idee, wie ich das in den Griff kriege?
Ich danke im Voraus!
Zuletzt bearbeitet:
(Beitrag wieder hergestellt.)