2012-12-29 50 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