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üssen windows.bat oder php 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.