内核的PHP接口';s IP路由表

内核的PHP接口';s IP路由表,php,linux,shell,routes,shell-exec,Php,Linux,Shell,Routes,Shell Exec,我正在尝试为IP路由表实现一个CRUD接口,我一直在用PHP执行unix命令。 我尝试使用shell_exec命令回显route命令的输出,但输出为null echo shell_exec("route"); // Outputs nothing 我还尝试了其他几种组合,如: echo exec("route"); // also outputs nothing // and $lastLine = system("route", $output); echo $lastLine; // no

我正在尝试为IP路由表实现一个CRUD接口,我一直在用PHP执行unix命令。 我尝试使用shell_exec命令回显route命令的输出,但输出为null

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命令呢

谢谢

首先从控制台尝试

whereis route
然后以完整路径执行
route
命令

基本上,我认为,这是因为
PATH
env不包含
/sbin:

请尝试

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

附言:“`”-这是瓷砖符号。更多游戏中的Console键:)

在抵制对编程语言选择发表评论的冲动的同时,我建议使用较新的
ip
工具(属于
iproute
iproute2
),而不是较旧的
route
命令。例如:
ip路由显示
打印路由表<代码>ip路由帮助了解更多信息。它(A)功能更强,(B)更容易解析。此外——错误127是未找到您尝试运行的程序时的标准返回值。backtick运算符的使用与shell_exec()相同,他已经在尝试此操作。看这解决了我的问题。使用shell_exec(“/sbin/route”);我得到了我所期望的。谢谢