Programmierhinweise
Betriebssystem
Webman unterstützt sowohl Linux- als auch Windows-Systeme. Aufgrund der Einschränkungen von Workerman in Windows bezüglich der Unterstützung von Mehrprozess-Setups und Daemon-Prozessen wird jedoch empfohlen, Windows nur für Entwicklungs- und Debuggingzwecke zu verwenden; die Produktionsumgebung sollte auf einem Linux-System betrieben werden.
Startmethode
Linux-System
php start.php start
Dieser Befehl ist im Debug-Modus und wird normalerweise während der Entwicklung verwendet. Der Monitorprozess erkennt automatisch Änderungen an Dateien und lädt diese neu. Die Ausgaben werden im Terminal angezeigt und Webman wird geschlossen, wenn das Terminal geschlossen wird.
php start.php start -d
Dieser Befehl ist im Daemon-Modus und wird in der Produktionsumgebung verwendet. Webman läuft weiterhin, wenn das Terminal geschlossen wird, und Terminalausgaben werden nicht angezeigt. Aktualisierungen des Codes erfordern das Ausführen von php start.php reload
oder php start.php restart -d
.
Windows-System
Führen Sie windows.bat
aus oder verwenden Sie den Befehl php windows.php
, um zu starten; stoppen Sie mit Strg+C.
Windows unterstützt die Befehle stop, reload, status und reload connections nicht.
Windows unterstützt den Daemon-Modus nicht.
Resident Memory
Webman ist ein Framework, das im Resident Memory arbeitet. Im Allgemeinen wird eine PHP-Datei nach dem Laden als Opcode im Speicher behalten und nicht erneut von der Festplatte gelesen (außer bei Template-Dateien).
Daher muss nach Änderungen des Anwendungscodes oder der Konfiguration in der Produktionsumgebung php start.php reload
ausgeführt werden, um diese wirksam zu machen.
Wenn Prozesskonfigurationen geändert oder neue Composer-Pakete installiert werden, ist ein Neustart mit php start.php restart
erforderlich.
Um die Entwicklung zu erleichtern, bringt Webman einen benutzerdefinierten Monitor-Prozess mit, der zur Überwachung von Aktualisierungen von Anwendungsdateien verwendet wird. Wenn eine Anwendungsdatei aktualisiert wird, erfolgt automatisch ein Reload.
Diese Funktion ist nur aktiviert, wenn Workerman im Debug-Modus läuft (d.h. beim Start ohne-d
). Windows-Benutzer müssenwindows.bat
oderphp windows.php
ausführen, um diese Funktion zu aktivieren.
Zur Ausgabe von Anweisungen
In traditionellen PHP-FPM-Projekten werden Daten, die mit Funktionen wie echo
oder var_dump
ausgegeben werden, direkt auf der Seite angezeigt. Im Entwicklungsprozess mit Webman (im Debug-Modus) erscheinen diese Ausgaben jedoch häufig im Terminal und werden nicht auf der Seite angezeigt (außer den Ausgaben in Template-Dateien).
Führen Sie keine exit
- oder die
-Anweisungen aus
Das Ausführen von die
oder exit
führt dazu, dass der Prozess beendet und neu gestartet wird, was dazu führt, dass die aktuelle Anfrage nicht korrekt beantwortet werden kann.
Führen Sie die Funktion pcntl_fork
nicht aus
pcntl_fork
erstellt einen Prozess, was in Webman nicht erlaubt ist.
Composer-Komponenteninstallation
Mit composer require xxx/xxx
installierte Komponenten müssen neu gestartet werden, um wirksam zu werden.