2012-12-29 25 views
-1

几个月前我在Windows上制作了一个小型C++控制台应用程序。我需要在浏览器上运行exe文件。我使用exec php函数,一切正常。现在我试图在Linux上做同样的事情,以便我可以将可执行文件放在Linux Web服务器上。我的linux可执行文件(内嵌)在从控制台调用时工作。但是我不能通过exec函数运行可执行文件。在Linux上调用php exec函数

xampp windows: - 这个工程,我得到了我的结果。

<?php 
$imagename = $_GET['imagename']; 
exec('inpainting.exe' .$imagename); 
echo "<img src=\"./images/img-uploads/ob_img$imagename.jpg\" />"; 
?> 

但是如何在xampp linux上运行它?我试试这个,结果是空白屏幕。

<?php 
$imagename = $_GET['imagename']; 
exec('inpainting' .$imagename); 
echo "<img src=\"./images/img-uploads/ob_img$imagename.jpg\"/>"; 
?> 

我尝试了几件事,但没有任何反应。有人说,高管是坏事,如果有人有其他更好的解决方案 - 请与我分享。有任何想法吗? Tnx

我允许工作文件夹的所有权限。我在Ubuntu 12.4上运行xampp 1.7.3a

+0

您是否尝试过在exec中使用可执行文件的完整路径? – Michael

+2

你需要程序和文件名之间的空格,可能是@Michael所说的也会有帮助。 –

+0

Linux无法运行Windows的可执行文件。此外,那里还有一个**巨大的安全漏洞。 – Corbin

回答

0

这可能有所帮助,我添加了第二个参数,然后做了一个转储,它应该显示所运行的命令的所有输出。

<?php 
$imagename = $_GET['imagename']; 
exec('inpainting ' .$imagename, $opt); 
var_dump($opt); 
echo "<img src=\"./images/img-uploads/ob_img$imagename.jpg\"/>"; 
+0

我尝试,但代替图像我得到这个:'array(0){}' – Rile

+0

@Rile我看到你已经接受了这个答案。我正面临类似的问题。你能解释你是如何解决你的问题的? – asprin

+0

我没有解决我的问题:(对不起 – Rile