2013-05-14 119 views
0

我有,我想用來調用一個python腳本(ring.py)下面的PHP代碼使用PHP來調用Python腳本

<?php echo '<p>Hello World</p>'; 
    $output = exec('python ring.py'); 
    ?> 

程序ring.py創建兩個文件。當我運行從命令行PHP腳本:

php index.php 

然後PHP腳本運行正確的Python腳本並根據需要被創建2個文件。

但是,當有人通過網頁瀏覽器訪問PHP頁面時,似乎並沒有運行python腳本,也沒有創建任何文件。我怎樣才能解決這個問題?

非常感謝!

+0

使用if(!$ output)檢查錯誤並打印錯誤 –

+0

如何準確打印錯誤? –

+0

die(exec_error)會做 –

回答

0

確保服務器上的Python腳本是可執行的

chmod +x ring.py 

,並確保它無論是在同一目錄下的PHP腳本或使用的完整路徑。

+0

是的,我已經試過了,它在我從命令行運行php腳本時起作用,所以這不是問題。當有人通過網絡瀏覽器訪問php腳本時,它就不起作用。任何想法爲什麼? –

+0

http://stackoverflow.com/questions/2219982/getting-php-to-run-a-python-script這裏有一個類似的問題,可能會有所幫助。 –

0

你應該做chmod 0777 ring.py,因爲只是做+x只會影響你的用戶。通常,PHP由另一個用戶執行(通常爲anonym),可能與您的組不在同一個組中。