2014-04-02 88 views
0

我想在php/html文件的按鈕按下事件中運行python腳本。我試着跟着。這可能與PHP的exec()?但以下沒有奏效。我的代碼有什麼問題?使用PHP運行Python腳本exec()

HTML文件

<html> 
<head></head> 
<body> 
<H3>Run Python Script...</H3> 
<form name="input" action="test2.php" method="get"> 
<input type="submit" value="Submit"> 
</form> 
</body> 
</html> 

PHP的exec()

<html> 
<head></head> 
<body> 
<H3>Executing...</H3> 
<?php exec("first.py"); ?> 
<H3>Completed...</H3> 
</body> 
</html> 

回答

0

可以有一些問題甚至是你的Python腳本。

第一:你能從控制檯運行這個腳本嗎? (你在腳本的開頭是否有#!/ path/to/env/python)? 如果不是,那麼要麼將它添加到你的腳本或exec函數(不帶#!)

您還可以使用passthru代替EXEC,這樣就可以顯示腳本的原始輸出。

+0

嘿,謝謝,這個'passthru'爲一個簡單的腳本打印了一行,但是我的腳本不工作? –

+0

謝謝這工作.. :) –

0

嘗試exec("/usr/bin/python path/to/first.py")

+0

我的回答回答他的問題「我的代碼出了什麼問題?足夠的,它已經過測試,所以如果你渴望積分並且不能添加任何有益的東西,不要試圖讓別人的答案看起來不好,去獲得生命。 –

+0

Nervermind。刪除我的評論。 –

2

exec在命令行上執行命令,僅通過bash運行first.py將不起作用。你有兩個選擇:

選項A

你可以告訴巨蟒解析器明確地運行與文件:

exec('python first.py'); 

選項B

確保您的Python腳本第一行是python的路徑:

#!/usr/bin/python 

#Python code... 

然後調用exec('./first.py')

(如果你選擇了這個選項,你需要確保腳本是可執行的)

結論

我大概有一個選項去因爲它是最簡單的,並且可以毫不費力地完成工作。

希望這有助於:) x

+0

謝謝艾米莉,得到了一些見解:) –