Heim  >  Artikel  >  PHP-Framework  >  Was soll ich tun, wenn Workerman nicht eingesetzt werden kann?

Was soll ich tun, wenn Workerman nicht eingesetzt werden kann?

藏色散人
藏色散人Original
2019-12-18 15:17:592460Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn