我想显示一个shell脚本的输出,就像它通过php脚本显示在PuTTy或gnome-terminal中一样。我试着用了shell_exec通过调用它:通过shell_exec中的自定义文件输出shell输出php
$output = shell_exec('echo "return value: ";foo=$(nameOfFileToExecute); echo $foo');
在哪种方式,我可以得到它存储在Web服务器上的脚本的返回字符串?
我想显示一个shell脚本的输出,就像它通过php脚本显示在PuTTy或gnome-terminal中一样。我试着用了shell_exec通过调用它:通过shell_exec中的自定义文件输出shell输出php
$output = shell_exec('echo "return value: ";foo=$(nameOfFileToExecute); echo $foo');
在哪种方式,我可以得到它存储在Web服务器上的脚本的返回字符串?
试试这个:
<?php
exec($your_shell_command_as_string, $arrayOfReturnedData);
// NOW YOU CAN ACCESS ALL THE VALUES RETURNED BY THE SHELL COMMANDS VIA THE ARRAY.
var_dump($arrayOfReturnedData); // DUMPS THE RESULTS OF THE SHELL COMMAND...
希望这有助于....
有可能是与nameOfFileToExecute
一个问题,所以尽量用全路径/path/to/executable/nameOfFileToExecute
你必须给文件的完整路径
并使用此2> & 1并知道错误
尝试这样的事情
$comando = "sh pathTofile/location/ftpgesdoc.sh";
if(exec("$comando 2>&1", $output, $return_var))
{
print_r($output);
echo "<br>";
print_r($return_var);
}
你尝试'回声$ output',或者如果你期待多行输出尝试'passthru',而不是'shell_exec' –
我做输出回波在我phpfile 。它看起来像nameOfFileToExecute不会被执行(因此没有输出存储在foo中)。 – PHPAtWork