我很新的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? :) –