我使用的是amazonec2obunto微实例。我写了一个php代码,它执行一个python代码,并返回一个简单字符串的结果。当我在obuntu终端上执行它时,它完美地显示了结果,但是当我通过浏览器访问它时,它什么也不显示。
我不知道为什么。实际上它不能执行python脚本。在
$tmp=exec('/usr/bin/python/var/www/相似性.py员工/失业人员/服务员)
如果有人能帮我,我会非常感激的。
PS:我使用的是MacBookPro,当我在电脑的本地主机上使用相同的代码时,一切都会完美地工作
Tags:
经过一番“挠头”,我终于明白了。在
首先,您需要找出执行php的当前用户。你要么退房php.info文件归档或使用
这将为您提供执行代码的用户。在我的例子中,它是
apache
,而不是www-data
(我一开始就不应该这样假设)。在之后,您需要编辑
sudoers
文件(etc/sudoers)
加上那边的线。在
如果你想具体点的话,你可以使用@Janith的代码。在
^{pr2}$或者你可以简单地加上
(您可能应该只指定路径)。在
然后通过php执行脚本。在
这是访问python文件的权限问题。当您以apache用户身份(很可能是www数据)通过服务器python脚本访问运行它时。所以apache用户没有权限执行python文件。在
您可以做的是以sudo的身份运行这个命令,并在/etc/sudoers文件中添加对apache用户(www数据)的所有必要访问,如下例所示。在
这只是示例,您应该根据您的环境更改此行。在
相关问题 更多 >
编程相关推荐