我正在尝试在php页面上制作执行python程序的程序。python程序编写了一些html代码,我可以在php页面中使用它们。当我从终端执行python程序时,一切正常。
但是当我从php执行python程序时,什么也没有发生。如果我使用exec("python program.py",$output) $output == "array ( )"
BUT if I remove the line `f = open('/var/www/data.php', w)`
the `$output == " array ( 0 => 'start program', 1 => 'open error' ) "`php代码片段:
output = null;
exec("python /var/www/webwrite.py", $output);
echo var_export($output, TRUE);python代码片段:
print "start program"
f = open('/var/www/data.php', 'w')
if f <> 0:
print "open file"
f.write('<div class=divdata><pclass="data">Data</p><div id="webdata">')
fstr = '%3.1f'%data
f.write(fstr)
f.write('</div></div>')
f.close()
else:
print "open error" here如何在从php执行的python中使用open(filename, w)?为什么我不能在php中使用open命令然后使用exec。是"open“的另一种选择
发布于 2013-03-01 00:02:37
通常,在这些情况下,您可能会遇到路径或权限问题。
例如,尝试将py脚本更改为运行web服务器的同一所有者(假设web服务器以单用户身份运行):
chown apache:apache your.py它打开或写入的任何文件也需要归同一用户所有。然后,您可能需要增加权限:
chmod 775 your.py如果这不起作用,请输入python脚本的完整路径。您可以使用以下命令获取此信息:
which python不要将这些完整路径硬编码到PHP代码中,将其放在一个配置文件中。
https://stackoverflow.com/questions/15139953
复制相似问题