【发布时间】:2015-04-02 04:58:33
【问题描述】:
我是ubuntu用户..我在php中有一个执行python文件的命令..python文件设置为可执行..所以,我的php命令是:-
shell_exec("try.py");
python 文件位于桌面.. 但 php 文件位于 www 文件夹中..
/var/www/try.php
在 try.py 中,我有一个代码来重命名桌面上的文件,如下所示:-
print "enter"
os.rename("a.txt", "b.txt")
print "exit"
所以,try.py 和 a.txt 在桌面..
我的问题是,当我执行 php 文件时,它只显示“输入”但不显示“退出”..所以我猜它无法执行 os.rename 可能是因为 root 特权或我的任何东西不知道..我尝试了一些解决方案来禁用 sudo 的密码,但我仍然没有显示“退出”。
但是,如果我直接在桌面上双击执行try.py并执行它,命令可以完成,输出显示:-
enter
exit
那么,有谁知道如何使用 php 来执行它?
【问题讨论】:
-
也许不要尝试
os.rename进行测试,而是尝试print "%s"%os.listdir(os.getcwd())之类的东西,看看它是否退出。