Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用C++;来自PHP的应用程序-输出显示;数组"; 我想知道是否有人能帮助我,我想调用一个简单的应用程序,它只返回它所输入的输入——这只是一个简单的测试,看看我是否可以用Ubuntu从PHP控制C++应用程序。然而,当我应该得到“Hello”时,我得到的只是“Array”_Php_C++_Ubuntu_Web - Fatal编程技术网

调用C++;来自PHP的应用程序-输出显示;数组"; 我想知道是否有人能帮助我,我想调用一个简单的应用程序,它只返回它所输入的输入——这只是一个简单的测试,看看我是否可以用Ubuntu从PHP控制C++应用程序。然而,当我应该得到“Hello”时,我得到的只是“Array”

调用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:

<?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";
}