【发布时间】:2011-12-06 13:05:23
【问题描述】:
我的 python 脚本有问题。脚本本身会生成一个字符串并将其写入文件的末尾。这在我直接调用 python 脚本时效果很好。
但是一旦我用 exec() 从 PHP 调用 python 脚本,它就不能再写入文件了。
在python中我只是使用:
try:
FILE = open(filename,"w")
FILE.write(mystring)
except IOError:
print 'cannot open', filename
PHP 像这样调用 python 脚本:
$command = 'python myscript.py input1 input2 > /dev/null &';
exec($command, $stdout, $error);
有谁知道如何解决这个问题?
【问题讨论】:
-
也许运行您的 PHP 脚本的进程与您的本地用户具有不同的权限?
-
PHP进程的权限设置是否正确?
-
您是否尝试过设置目标文件的权限,以便它是开放的并且可以在世界范围内写入?
-
写完后你会关闭文件吗?与上下文管理器一起使用
-
您确定命令正在运行吗?考虑一下
system或passthru函数,它们允许您获取返回码或程序输出。