shell_exec
和exec
未返回任何内容。我无法弄清楚出了什么问题。
以下是一些代码:
echo 'test: ';
$output = shell_exec('whoami');
var_export($output, TRUE);
echo PHP_EOL . '<br>' . PHP_EOL;
这是输出的来源
test 2:
<br>
我无法控制主机,但我相信他们正在运行SuPHP。根据{{1}},safe_mode已关闭。从SSH运行phpinfo
会输出预期值。
我很茫然。知道怎么调试这个吗?
答案 0 :(得分:5)
您永远不会打印$output
变量。当您使用var_export()
秒参数调用变量时,true
调用返回变量的内容,它不会直接打印它。
答案 1 :(得分:0)
如果您希望将shell命令的输出读回PHP,则可能需要popen()
。例如:
if( ($fp = popen("some shell command", "r")) ) {
while( !feof($fp) ) {
echo fread($fp, 1024);
flush(); // input will be buffered
}
fclose($fp);
}