Heim >PHP-Framework >Workerman >Was soll ich tun, wenn Workerman nicht eingesetzt werden kann?
Was soll ich tun, wenn Workerman nicht verwendet werden kann?
Workerman-Startfehlerphänomen 1
Der nach dem Start gemeldete Fehler ähnelt dem folgenden: php start.php start
PHP-Warnung : stream_socket_server(): Verbindung zu tcp://xx.xx.xx.xx:xxxx (Adresse bereits verwendet) in ...workerman/Worker.php online xxxx nicht möglich
Schlüsselwörter: Adresse bereits verwendet in Verwendung
Fehlergrund:
Der Port ist belegt und kann nicht gestartet werden.
Mit dem Befehl netstat -anp | können Sie herausfinden, welches Programm den Port belegt. Stoppen Sie dann das entsprechende Programm, um die Portlösung freizugeben.
Wenn das dem Port entsprechende Programm nicht gestoppt werden kann, können Sie das Problem lösen, indem Sie den Port des Workerman ändern.
Wenn der von Workerman belegte Port nicht durch den Stoppbefehl gestoppt werden kann (normalerweise verursacht durch den Verlust der PID-Datei oder durch das Beenden des Hauptprozesses durch den Entwickler), können Sie den Workerman-Prozess beenden, indem Sie Folgendes ausführen zwei Befehle. killall php
ps aux|grep WorkerMan|awk '{print $2}'|xargs kill -9
Wenn tatsächlich kein Programm auf diesen Port lauscht, hat der Entwickler ihn möglicherweise festgelegt im workerman Es gibt zwei oder mehr Monitore und die Monitorports sind identisch. Entwickler werden gebeten, zu überprüfen, ob das Startskript denselben Port überwacht. Phänomen 2
Der nach dem Start gemeldete Fehler ähnelt dem folgenden: PHP-Warnung: stream_socket_server(): Verbindung zu tcp://xx.xx.xx.xx:xxx nicht möglich (Angeforderte Adresse kann nicht zugewiesen werden) in ...workerman/ Worker.php online xxxx
oder PHP-Warnung: stream_socket_server(): Verbindung zu tcp://xx.xx.xx.xx:xxxx nicht möglich (Die angeforderte Adresse ist ungültig Kontext) in ...workerman/Worker.php online xxxx
Schlüsselwörter: Die angeforderte Adresse kann nicht zugewiesen werden oder die angeforderte Adresse ist ungültig
Fehlergrund:
Der IP-Parameter des Startskripts ist falsch geschrieben. Bitte geben Sie die lokale IP ein oder geben Sie 0.0.0.0 ein (was anzeigt, dass alle IPs des lokalen Computers überwacht werden).
Tipp: In Linux-Systemen können Sie den Befehl ifconfig verwenden, um alle Netzwerkkarten-IPs der Maschine anzuzeigen.
Wenn Sie ein Cloud-Server-Benutzer (Alibaba Cloud/Tencent Cloud usw.) sind, beachten Sie bitte, dass Ihre öffentliche Netzwerk-IP tatsächlich eine Proxy-IP (z. B. das private Netzwerk von Alibaba Cloud) und das öffentliche Netzwerk sein kann Die IP gehört nicht zum aktuellen Server und kann daher nicht über die IP des öffentlichen Netzwerks überwacht werden. Obwohl Sie zur Überwachung keine öffentliche Netzwerk-IP verwenden können, können Sie dennoch eine Bindung über 0.0.0.0 herstellen. Phänomen 3 Waring stream_socket_server wurde aus Sicherheitsgründen deaktiviert in ...
Grund für den Fehler:
Die stream_socket_server-Funktion wurde von php.ini deaktiviert
Lösung
1. Führen Sie php --ini aus und suchen Sie die php.ini-Datei
2. Öffnen Sie php.ini, suchen Sie das Element „disable_functions“ und löschen Sie das Element „stream_socket_server invalid“. stream_socket_server(): Verbindung zu tcp://0.0.0.0:xxx nicht möglich (Berechtigung verweigert)
Fehlergrund
Wenn der Überwachungsport unter Linux kleiner ist als 1024 ist eine Root-Berechtigung erforderlich.
Lösung
Verwenden Sie einen Port größer als 1024 oder verwenden Sie den Root-Benutzer, um den Dienst zu starten.
Empfohlen: Workerman-Tutorial
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Workerman nicht eingesetzt werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!