[PHP-users 32556] PearのNet_Pingについて
富士通)小野
ono.1982.kenji @ jp.fujitsu.com
2007年 8月 22日 (水) 21:34:10 JST
皆さん今日は。小野と言います。
Pear_pingを使って死活監視を試みているのですが、想定した動作をし
てくれません。
環境は、以下のとおりです。
$ uname -a
SunOS hakata 5.9 Generic_122300-04 sun4u sparc SUNW,UltraAX-i2
$ /usr/local/apache2/bin/httpd -v
Server version: Apache/2.0.59
Server built: Jun 19 2007 02:09:06
$ php -v
PHP 4.4.7 (cli) (built: Aug 22 2007 16:42:43)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
$ pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.2 stable
Auth_SASL 1.0.2 stable
Console_Getopt 1.2.1 stable
HTML_Template_IT 1.1 stable
Mail 1.1.14 stable
Mail_Mime 1.3.1 stable
Net_POP3 1.3.6 stable
Net_Ping 2.4.2 stable
Net_Portscan 1.0.2 stable
Net_SMTP 1.2.10 stable
Net_Socket 1.0.8 stable
Net_Traceroute 0.21.1 alpha
Net_URL 1.0.15 stable
Net_UserAgent_Detect 2.0.1 stable
Net_Whois 1.0 stable
PEAR 1.5.0 stable
Structures_Graph 1.0.2 stable
XML_FastCreate 1.0.3 stable
XML_Parser 1.2.8 stable
XML_RDDL 0.9 beta
XML_Statistics 0.1 beta
サンプルとして以下のようなソースを作ってみました。
キックはWebからしてますが、画面に表示が戻ってきません。
$ping = Net_Ping::factory();
if (PEAR::isError($ping)) {
echo $ping->getMessage();
} else {
$ping->setArgs(array("count" => 2 , "size" => 32, "TTL" => 512));
var_dump($ping->ping(監視先IPアドレス));
}
TELNETで状況を見ていると、以下のように表示されます。
bash-2.05# ps -ef | grep ping
nobody 22917 22907 0 17:02:48 ? 0:00 sh -c /usr/sbin/ping -s
xx.xx.xx.xx 56 2
nobody 22918 22917 0 17:02:48 ? 0:00 /usr/sbin/ping -s xx.xx.xx.xx
何故、2個もPINGが走っているのか謎だし、2行目だとまさに永久に実
行し続けるから、戻ってくれそうにないですよね。
しょうがないので、2行目をkillすると、画面に表示が戻ってきて、
PINGの実行結果らしき内容が表示されます。
どなたか、原因や回避方法などご存知でしたら、ご教授頂きたく、よ
ろしくおねがい致します。
PHP-users メーリングリストの案内