内核的PHP接口';s IP路由表
我正在尝试为IP路由表实现一个CRUD接口,我一直在用PHP执行unix命令。 我尝试使用shell_exec命令回显route命令的输出,但输出为null内核的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
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”);我得到了我所期望的。谢谢