Symlinks werden nicht aktualisiert, bis php5-fpm nicht beendet und neu gestartet wird

8

Meine aktuelle Bereitstellungslogik (Laravel envoy verwenden) erstellt einen symbolischen Link zwischen dem Ordner "current" und dem neuesten Freigabeordner. Das Problem ist, dass der Symlink nicht sofort aktualisiert wird. In der Tat muss ich php5-fpm töten und neu starten, um dieses Problem zu vermeiden mit:

%Vor%

Hinweis: Die Verwendung von sudo service php5-fpm restart funktioniert nicht. Irgendwelche Gedanken, wie man dieses Problem vermeidet und wie man es repariert?

Die symbolische Verknüpfung wird mit dem folgenden Befehl erstellt:

%Vor%

Soweit ich weiß, überschreibt dies den Symlink, falls einer bereits existiert.

Hier ist die Ausgabe von php -i

%Vor%
    
Tudor Ravoiu 19.10.2015, 17:40
quelle

1 Antwort

1

Wie in Ihrer php -i info erwähnt, haben Ihre Server Opcache auf der fpm-Seite aktiviert, nicht über die Befehlszeile. Aus diesem Grund zeigt es opcode.enabled

Sie können versuchen, ein Cache-Löschen des Opcodes zu erzwingen, kurz nachdem Ihre Symlinks neu erstellt wurden. Sie müssen dies in einem Skript ausführen, das unter demselben php-fpm-Prozess ausgeführt wird. d. h., erstellen Sie eine Seite, die nur einen Cache-Reset durchführt

Ссылка

Und rufen Sie die Seite mit wget / curl / browser auf, führen Sie die PHP-Datei nicht einfach über die Befehlszeile aus, da die Befehlszeile nicht in demselben Prozesspool ausgeführt wird, in dem der Cache erstellt wurde.

Auch wenn Sie an einem flexibleren Tool zur Cache-Löschung interessiert sind, verwenden Sie Ссылка

Bitte lassen Sie mich wissen, wenn es Ihre Probleme behebt

    
Bizmate 23.10.2015 00:09
quelle

Tags und Links