72

pingPHPで呼び出すLinux シェル コマンドでネットワーク接続を確認するために使用する PHP スクリプトを作成していますexec()

<?php


// Bad IP domain for testing.
$domain_bad = "lksjdflksjdf.com";

$ip_address = $domain_bad;

exec("ping -c 1 $domain_bad", $output, $return_var);

var_dump($return_var);
echo "return_var is: $return_var" . "\n";
var_dump($output);


exit;
?>

$output私が期待しているものであるpingからのエラーメッセージの出力を取得していません:

$ php try.php
ping: unknown host lksjdflksjdf.com
int(2)
return_var is: 2
array(0) {
}

ドメインが yahoo.com などの適切なドメインである場合は$output、配列に ping からの出力があります。ただし、配列'ping: unknown host lksjdflksjdf.com'に返されないなどのエラーの場合。$output

なぜこれが起こっているのですか?これを行うためのより良い方法はありますか?

4

2 に答える 2

10

上記の回答で問題を解決できない場合は、exec()無効になっている可能性があります。php.ini行でファイルをチェックすることができますdisable_functions

于 2017-03-07T06:30:57.773 に答える