2011-11-11 7 views
0

私はIPルーティングテーブル用のCRUDインターフェイスを実装しようとしていますが、私はPHPでunixコマンドを実行していません。 shell_execコマンドを使用してrouteコマンドの出力をエコーし​​ようとしましたが、出力がnullです。私はまた、のような他のいくつかの組み合わせで試してみたカーネルのIPルーティングテーブルのPHPインターフェイス

echo shell_exec("route"); // Outputs nothing 

:だから

echo exec("route"); // also outputs nothing 
// and 
$lastLine = system("route", $output); 
echo $lastLine; // nothing 
echo $output; // 127 

を、どのように私はPHPからrouteコマンドを実行する必要がありますか?

ありがとうございます!

+0

プログラミング言語の選択についてコメントしたいと思っていますが、代わりに新しい 'ip'ツール(' iproute'や 'iproute2'の一部)を使うことをお勧めします。コマンド。例: 'ip route show'はあなたのルーティングテーブルを表示します。詳細は 'ip route help'を参照してください。それは(A)はるかに能力があり、(B)は解析しやすい。 – tylerl

+0

また、エラー127は、実行しようとしたプログラムが見つからなかった場合の標準的なリターンです。 – tylerl

答えて

1

ちょうど試みる/sbin:

+0

これは私の問題を解決しました。 shell_exec( "/ sbin/route")を使用すると、私は期待しているものを得ている。ありがとう! – VladN

-1

が含まれていない、

whereis route 

その後

は基本的に、私は考えてフルパスでrouteコマンドを実行し、コンソールから最初にあるためPATH ENVのを試してみてください

$outPrint = `route` // not simple quotes!; 
echo $outPrint; 

PS : "` " - これはチルダシンボルです。より多くのゲームではコンソールキー:)

+0

バックティック演算子の使用はshell_exec()と同じですが、彼はすでにこれを試しています。 http://ru2.php.net/manual/en/language.operators.execution.phpを参照してください。 – azat

関連する問題