ホームページ > バックエンド開発 > PHPチュートリアル > PHPを使ってBSモードでソケットを勝手に作成する方法_PHPチュートリアル

PHPを使ってBSモードでソケットを勝手に作成する方法_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:53:14
オリジナル
923 人が閲覧しました

最近、BS アーキテクチャを使用して、仮想マシンがダウンしているかどうかを監視する機能を備えたサザン ベース プラットフォームの監視インターフェイスを作成しました。
このプロセスは、監視マシンがアクセス要求を発行し、ターゲットの仮想マシンがダウンしているかどうかを検出するためにソケットを開始します。
ICMP プロトコルを通じて検出されるため、ソケット タイプ SOCK_RAW が使用されます。
サーバーは Apache + php + mysql を使用しており、ソケットを作成する権限がないことを示すプログラム エラーが見つかりました。後でリソースを確認したところ、このタイプのソケットには root 権限が必要であるか、ソケットを作成するには setuid() と組み合わせて CGI モードで php を実行する必要があることがわかりました。
解決策: 代わりに nginx+php-cgi+mysql を使用してください。
PHP をコンパイルするとき、サービスを root ユーザーとして開始するには次の変更を加える必要があります。

1. php $src_path/sapi/cgi/fpm/fpm_unix.c のソースコードを見つけます (バージョンが異なるため、find $src_path -name fpm_unix.c を使用するのが最善です)

2. ファイルの先頭にマクロ定義を追加します: #define I_REALLY_WANT_ROOT_PHP

3. make make install を再構成します

4.php-fpm.conf ユーザーとグループを root に変更します


作者: ペンギン

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478048.html技術記事最近、BS アーキテクチャを使用して、仮想マシンがダウンしているかどうかを監視する機能を備えたサザン ベース プラットフォームの監視インターフェイスを作成しました。 プロセスは次のとおりです: 監視マシンがアクセス要求を発行します - インターフェイス分析要求...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート