質問: fsockopen($host, $port, $errno, $errstr, $timeout); if ( ! $fsock ) { return False; } else{ return True; } } ``` このように、 ``` fsockopen($host, $port, $errno, $errstr, $timeout) ``` を使う方法があるようですが、port番号を指定しているため、ポートを空けたサーバーなどしか 監視できないようです。 portを開放していないクライアントPCの場合は使えません。 この場合は、ブラウザからexecを実行させる許可等が出来るのか、 それとも他に何か方法があるのか、教えてください。 出来ない場合はJavaScriptなどの別言語で対応しようかと思っています。 ご教授宜しくお願い致します。 ### 補足情報(言語/FW/ツール等のバージョンなど) 言語・バージョン:PHP / 5.4.16 サーバー:CentOS WEB:Apache
回答: 既にs.t.様の回答がありますので余分な事かもしれませんが、ブラウザからでもexecは動かせますよ。 s.t.様のsystem関数は出力の表示までやってくれるもので、execは実行(出力)のみを行うものです。 PHP execマニュアル PHP systemマニュアル コマンドでping結果をそのままファイル出力させてみてはいかがでしょう? 実際にコマンドが実行できているかという事と、処理結果が分かって効率的だと思います。 また、curlが使えるのであればそちらでも同じことはできます。 PHP curl