phar-Paketierung
phar ist eine in PHP verwendete Paketdatei, ähnlich wie JAR. Mit phar kannst du dein webman-Projekt in eine einzelne phar-Datei verpacken, was die Bereitstellung erleichtert.
Hier ein besonderer Dank an fuzqing für den PR.
Hinweis
Du musst die phar-Konfigurationseinstellung inphp.inideaktivieren, alsophar.readonly = 0setzen.
Installation des Befehlszeilenwerkzeugs
composer require webman/console
Paketierung
Führe im Stammverzeichnis des webman-Projekts den Befehl php webman build:phar aus.
Es wird eine Datei webman.phar im Verzeichnis bulid erstellt.
Die paketbezogenen Konfigurationen befinden sich in
config/plugin/webman/console/app.php
Start- und Stoppbefehle
Start
php webman.phar start oder php webman.phar start -d
Stoppen
php webman.phar stop
Status anzeigen
php webman.phar status
Verbindungsstatus anzeigen
php webman.phar connections
Neustart
php webman.phar restart oder php webman.phar restart -d
Hinweise
-
Das nach der Paketierung erzeugte Projekt unterstützt kein Reload. Um den Code zu aktualisieren, ist ein Neustart erforderlich.
-
Um zu verhindern, dass die Paketdateigröße zu groß wird und zu viel Speicher verbraucht, kannst du die Optionen
exclude_patternundexclude_filesinconfig/plugin/webman/console/app.phpsetzen, um unnötige Dateien auszuschließen. -
Nach dem Ausführen von webman.phar wird ein Verzeichnis runtime im Verzeichnis von webman.phar erstellt, um Protokolle und andere temporäre Dateien zu speichern.
-
Wenn dein Projekt eine .env-Datei verwendet, musst du die .env-Datei im Verzeichnis von webman.phar platzieren.
-
Du solltest niemals Benutzer hochgeladene Dateien in der phar-Datei speichern, da das Arbeiten mit Benutzer hochgeladenen Dateien über das
phar://-Protokoll sehr gefährlich ist (phar Deserialisierungsanfälligkeit). Benutzer hochgeladene Dateien müssen außerhalb des phar-Pakets auf einer separaten Festplatte gespeichert werden, siehe unten. -
Wenn dein Geschäft das Hochladen von Dateien in das public-Verzeichnis erfordert, musst du das public-Verzeichnis separat im Verzeichnis von webman.phar speichern. In diesem Fall musst du
config/app.phpkonfigurieren.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',Geschäftsanwendungen können die Hilfsfunktion
public_path($relative_file_path)verwenden, um den tatsächlichen Standort des public-Verzeichnisses zu finden. -
Beachte, dass webman.phar unter Windows keine benutzerdefinierten Prozesse unterstützt.