workerman 사용할 수 없는 경우 어떻게 해야 하나요?
workerman 시작 실패 현상 1
시작 후 보고된 오류는 다음과 유사합니다: php start.php start# 🎜🎜##🎜 🎜#PHP 경고: stream_socket_server(): xxxx# 라인의 ...workerman/Worker.php에서 tcp://xx.xx.xx.xx:xxxx(이미 사용 중인 주소)에 연결할 수 없습니다. 🎜🎜##🎜 🎜#키워드: 이미 사용 중인 주소
실패 이유:포트가 이미 사용 중이어서 시작할 수 없습니다. netstat -anp | grep port number 명령을 사용하면 어떤 프로그램이 포트를 차지하고 있는지 확인할 수 있습니다. 그런 다음 해당 프로그램을 중지하여 포트 솔루션을 해제하십시오.
포트에 해당하는 프로그램을 멈출 수 없는 경우 워커맨의 포트를 변경하여 해결 가능합니다.
Workerman이 사용하고 있는 포트를 stop 명령으로 중지할 수 없는 경우(대개 pid 파일이 손실되었거나 개발자가 메인 프로세스를 종료하여 발생) 다음을 실행하여 Workerman 프로세스를 종료할 수 있습니다. 다음 두 명령. killall php
ps aux|grep WorkerMan|awk '{print $2}'|xargs kill -9
실제로 이 포트를 수신하는 프로그램이 없다면, 개발자는 두 개 이상의 모니터가 워커맨에 설정되어 있고 수신 포트가 동일합니다. 개발자는 시작 스크립트가 동일한 포트에서 수신하고 있는지 확인하도록 요청받습니다. 현상 2
시작 후 보고된 오류는 다음과 유사합니다. PHP 경고: stream_socket_server(): tcp://xx.xx.xx.xx:xxx에 연결할 수 없습니다(요청한 주소를 할당할 수 없습니다). ) in...workerman/Worker.php 온라인 잘못된 주소) in ...workerman/Worker.php 온라인 :
IP 매개변수를 모니터링하는 시작 스크립트가 잘못 작성되었습니다. 로컬 IP가 아닙니다. 문제를 해결하려면 로컬 IP를 입력하거나 0.0.0.0(로컬 시스템의 모든 IP가 모니터링됨을 나타냄)을 입력하세요. 팁: Linux 시스템은 ifconfig 명령을 통해 시스템의 모든 네트워크 카드 IP를 볼 수 있습니다. 클라우드 서버(Alibaba Cloud/Tencent Cloud 등) 사용자인 경우 공용 네트워크 IP가 실제로는 프록시 IP(예: Alibaba Cloud의 개인 네트워크)일 수 있으며, 공용 네트워크 IP는 현재 서버에 속하지 않으므로 공용 IP를 통해 모니터링할 수 없습니다. 공용 네트워크 IP를 사용하여 모니터링할 수는 없지만 0.0.0.0을 통해 바인딩할 수는 있습니다. 현상 3 Waring stream_socket_server가 보안상의 이유로 비활성화되었습니다...실패 이유:
stream_socket_server 기능이 php.ini에 의해 비활성화되었습니다.# 🎜🎜 #Solution
1. php --ini를 실행하고 php.ini 파일을 찾습니다.
2. stream_socket_server를 비활성화합니다. 삭제 현상 4PHP 경고: stream_socket_server(): tcp://0.0.0.0:xxx에 연결할 수 없습니다(권한이 거부됨)
실패 이유#🎜🎜 ## 🎜🎜#Linux의 수신 포트가 1024 미만인 경우 루트 권한이 필요합니다.
Solution
1024보다 큰 포트를 사용하거나 루트 사용자를 사용하여 서비스를 시작하세요.
권장:
workerman 사용 튜토리얼
위 내용은 워커맨을 사용할 수 없으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!