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
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
Tags und Links php nginx laravel deployment