ホームページ >PHPフレームワーク >Workerman >ワーカーマンが使えない場合はどうすればいいですか?

ワーカーマンが使えない場合はどうすればいいですか?

藏色散人
藏色散人オリジナル
2019-12-18 15:17:592624ブラウズ

ワーカーマンが使えない場合はどうすればいいですか?

#workman が使用できない場合はどうすればよいですか?

workerman の起動失敗現象 1

起動後に報告されるエラーは次のようなものです: php start.php start

PHP 警告: stream_socket_server(): tcp://xx.xx.xx.xx:xxxx (アドレスはすでに使用されています) に接続できません (...workerman/Worker.php on line xxxx

キーワード: アドレスはすでに使用されています)使用中

失敗の理由:

ポートが占有されているため、起動できません。

コマンド netstat -anp | grep portnumber を使用すると、どのプログラムがポートを占有しているかを確認できます。次に、対応するプログラムを停止してポート ソリューションを解放します。

ポートに対応するプログラムを停止できない場合は、ワーカーポートを変更することで問題を解決できます。

Workerman によって占有されているポートを stop コマンドで停止できない場合 (通常は、pid ファイルの損失または開発者によるメイン プロセスの強制終了が原因)、次のコマンドを実行して Workerman プロセスを強制終了できます。 2つのコマンド。 killall php

ps aux|grep WorkerMan|awk '{print $2}'|xargs kill -9

実際にこのポートをリッスンするプログラムがない場合は、開発者が設定した可能性があります。 in workman 2 つ以上のモニターがあり、モニター ポートが同じです。開発者は、起動スクリプトが同じポートをモニターしているかどうかを確認するように求められます。現象 2

起動後に報告されるエラーは次のようなものです: PHP 警告: stream_socket_server(): tcp://xx.xx.xx.xx:xxx (要求されたアドレスを割り当てることができません) に接続できません...workerman/ Worker.php on line xxxx

または PHP 警告: stream_socket_server(): tcp://xx.xx.xx.xx:xxxx に接続できません (要求されたアドレスは、その形式で無効です) context) in ...workerman/Worker.php on line xxxx

キーワード: 要求されたアドレスを割り当てることができないか、要求されたアドレスが無効です

失敗の原因:

起動スクリプトの監視 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 を介してバインドすることはできます。現象 3Waring stream_socket_server はセキュリティ上の理由で無効になっています...

失敗の理由:

stream_socket_server 関数が php.ini によって無効になっています

解決策

1. php --ini を実行して php.ini ファイルを見つけます

2. php.ini を開いて disable_functions 項目を見つけ、stream_socket_server の無効な項目を削除します。 現象 4PHP 警告: stream_socket_server( ): tcp://0.0.0.0:xxx に接続できません (許可が拒否されました)

失敗の理由

Linux でのリスニング ポートが 1024 未満の場合、 root権限が必要です。

解決策

1024 より大きいポートを使用するか、root ユーザーを使用してサービスを開始します。

推奨:

ワーカーマン チュートリアル

以上がワーカーマンが使えない場合はどうすればいいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。