pingとWOLのスクリプトを作ってみようと情報集め

defaultを編集してcgiを使えるようにする

# vi /etc/apache2/sites-available/default

  ServerName localhost
  DocumentRoot /mnt/share/www2
  AddHandler cgi-script .cgi .pl
...

perlのNet::Pingでは使えなかった

#!/usr/bin/perl
use Net::Ping;

#Pingを送るホストを指定
my $host = '192.168.1.1';


#ICMP Pingをホストに送信(タイムアウトは2秒)
my $p = Net::Ping->new("icmp");
my $result = $p->ping($host, 2);


#Pingの応答があった場合に、メッセージを表示
if($result){
	print "$host is alive!\n";
}

phpインストール

# apt-cache search php5
# apt-get install php5 php-pear libapache2-mod-php5
こんだけ入れときゃいいか
# pear install Net_Ping

phppearではエラーすることなく取得できたのでこれをベースに改造していく

<?php
require_once "Net/Ping.php";
$ping = Net_Ping::factory();
if (PEAR::isError($ping)) {
    echo $ping->getMessage();
} else {
    $ping->setArgs(array('count' => 2));
    var_dump($ping->ping('example.com'));
}
?>