调用C++;来自PHP的应用程序-输出显示;数组"; 我想知道是否有人能帮助我,我想调用一个简单的应用程序,它只返回它所输入的输入——这只是一个简单的测试,看看我是否可以用Ubuntu从PHP控制C++应用程序。然而,当我应该得到“Hello”时,我得到的只是“Array”
我这样做对吗 这是PHP:调用C++;来自PHP的应用程序-输出显示;数组"; 我想知道是否有人能帮助我,我想调用一个简单的应用程序,它只返回它所输入的输入——这只是一个简单的测试,看看我是否可以用Ubuntu从PHP控制C++应用程序。然而,当我应该得到“Hello”时,我得到的只是“Array”,php,c++,ubuntu,web,Php,C++,Ubuntu,Web,我这样做对吗 这是PHP: <?PHP echo exec('whoami'); echo "---"; echo exec('pwd'); echo "---"; echo "Hello World - From PHP"; echo "---"; $dt = new DateTime(); echo $dt->format('Y-m-d H:i:s'); echo "---"; exec('var/www/aws-app-dev Hello', $out
<?PHP
echo exec('whoami');
echo "---";
echo exec('pwd');
echo "---";
echo "Hello World - From PHP";
echo "---";
$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
echo "---";
exec('var/www/aws-app-dev Hello', $output);
echo $output;
echo "---";
echo "end";
?>
然而,它应该是:
theadmin---/var/www/---你好,世界---来自PHP---2013-12-02 20:45:15---你好---结束
始终先检查文档
从中,我们可以看到exec
的签名是
string exec ( string $command [, array &$output [, int &$return_var ]] )
请注意,输出
(第二个参数)是一个数组
输出
如果存在输出
参数,则指定的数组将填充命令的每一行输出
要查看程序返回的内容,请替换:
echo $output;
与
尝试:
如果您的程序只返回一行,则此操作有效。
您也可以这样做:
exec('var/www/aws-app-dev Hello', $output);
foreach ($output as $line) {
echo $line, "<br />\n";
}
exec('var/www/aws-app-dev-Hello',$output);
foreach($行输出){
echo$行“
\n”;
}
将您的echo
更改为print\r
,这样您就可以看到完整的输出,然后为我们粘贴出来-看起来可能会出现换行,导致PHP将输出作为数组而不是字符串。exec
只返回输出的最后一行。$output
始终是一个数组。检查文档。
print_r($output);
echo exec('var/www/aws-app-dev Hello');
exec('var/www/aws-app-dev Hello', $output);
foreach ($output as $line) {
echo $line, "<br />\n";
}