我很新的PHP &阿帕奇。無法執行python腳本從php,在客戶端
我正在構建一個小型網頁 - 可以在客戶端計算機上單擊按鈕,在服務器上運行一些python代碼。要做到這一點,我已經閱讀了一些網絡上的文章,告訴PHP是如何做到這一點的。我還讀到,我不需要AJAX。我對PHP,AJAX和相關技術的理解處於初級水平。
我有一臺運行在RHEL 6.5機器上的Apache服務器。 我有PHP v5.3.3,Python v2.6。
PHP腳本(script.php的):
<?php
echo shell_exec("python pytest.py");
?>
地點:/var/www/html/script.php
權限:chmod 777 script.php的
Python Script(pytest.py):
import os
os.remove("/<path>/hon.txt")
地點:/var/www/html/pytest.py
權限:chmod 777 pytest.py
指數HTML(的index.html) :
<!DOCTYPE html>
<html>
<header>
<title>Python Run</title></header>
<body>
<p>
<b><font size="10" color="red"><div align="center">Run Python Jobs</div></font></b>
</p>
<table style="width:100%">
<tr>
<td>Script1</td>
<td>Description</td>
<td>
<form action="script.php" method="get">
<input type="submit" value="Run Py Script">
</form>
</td>
</tr>
</table>
</body>
</html>
分
其他的事情/做的測試:
- 的Python腳本獨立工作,它是一個簡單的Python腳本刪除文件。
- PHP腳本也可以在運行Apache服務器的機器上獨立運行。
當我嘗試從HTML中點擊按鈕時,PHP腳本似乎不起作用。
我已經檢查了日誌消息從
cd /var/log/ tail messages -f May 6 18:22:01 machine abrt: detected unhandled Python exception in 'pytest.py'
我不知道這可能是因爲權限的,所以我做了
chmod 777 -R /var/www
即使是這樣我有同樣的問題
我不確定哪裏出了問題,所以我對PHP腳本(script.php)做了2個更改:
<?php echo shell_exec("/usr/bin/python /<path>/pytest.py"); echo shell_exec("ls"); ?>
在這裏 - 第二行從瀏覽器工作,第一行不是。這意味着我的python部分沒有被執行。
如果這是一個問題,我讀了某處,因爲我的Apache服務器沒有以root權限運行。新的 - 我不知道如何檢查。
如果需要更多信息 - 我可以在連續編輯中提供詳細信息。
難道是因爲參數傳送給了shell_exec()不從根目錄執行它?嘗試echo shell_exec(「/ usr/bin/python pytest.py」); –
'我對PHP很新穎 - 運行!逃跑!像你的生命一樣依賴它運行! – That1Guy
@ That1Guy:運行或從PHP? :) –