exe在php中不提供输出

exe在php中不提供输出,php,exe,Php,Exe,我正在尝试从php调用exe。exe是从Qt创建的。它在Qt中运行,也在命令行中运行,但当我尝试从php运行它时,我得到的输出不完整。exe运行大约需要5-7秒 我从命令行获得的输出是: --(!)Error loading --(!)Error loading 1 2 3 4 5 我不确定加载错误是为了什么,但它仍然运行exe并给出输出。但是当我从php运行它时,我得到 array(2) { [0]=> string(18) "--(!)Error loading" [1]=>

我正在尝试从php调用exe。exe是从Qt创建的。它在Qt中运行,也在命令行中运行,但当我尝试从php运行它时,我得到的输出不完整。exe运行大约需要5-7秒

我从命令行获得的输出是:

--(!)Error loading
--(!)Error loading
1
2
3
4
5
我不确定加载错误是为了什么,但它仍然运行exe并给出输出。但是当我从php运行它时,我得到

array(2) { [0]=> string(18) "--(!)Error loading" [1]=> string(18) "--(!)Error loading" }
错误加载后,在命令行中需要一段时间才能给出输出,因此php可能不会等待它完成。我不确定。我怎样才能找出错误是什么,怎样才能解决这个问题?我用来调用exe的php脚本是:

<?php
   $addr="/home/ggt/project/build-test-Desktop-Release/test";
  exec($addr,$data);
  var_dump($data);

?>


我也试过使用shell_脚本。但它不起作用。我甚至在exec之后插入了sleep(20),但仍然是一样的

我解决了这个问题……因为代码中有一个imshow(),我没有注释掉。因此,它没有执行整个程序并停止了它。在我移除imshow之后,我能够获得所有的输出

你想在linux下执行windows可执行文件吗?对不起,我打错了。不,这是linux可执行文件。你将
strace originalcommand
的输出区分为正常执行和php执行?我试着在cmd中运行$php-f try.php。它提供了所有的输出,但为什么我的网站上没有得到输出?@LajosVeres似乎strace的输出是相同的