首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP执行Python

PHP执行Python
EN

Stack Overflow用户
提问于 2013-02-28 23:57:24
回答 1查看 937关注 0票数 0

我正在尝试在php页面上制作执行python程序的程序。python程序编写了一些html代码,我可以在php页面中使用它们。当我从终端执行python程序时,一切正常。

但是当我从php执行python程序时,什么也没有发生。如果我使用exec("python program.py",$output) $output == "array ( )"

代码语言:javascript
复制
BUT if I remove the line `f = open('/var/www/data.php', w)`  
the `$output == " array ( 0 => 'start program', 1 => 'open error' ) "`

php代码片段:

代码语言:javascript
复制
 output = null;
 exec("python /var/www/webwrite.py", $output);
 echo var_export($output, TRUE);

python代码片段:

代码语言:javascript
复制
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“的另一种选择

EN

回答 1

Stack Overflow用户

发布于 2013-03-01 00:02:37

通常,在这些情况下,您可能会遇到路径或权限问题。

例如,尝试将py脚本更改为运行web服务器的同一所有者(假设web服务器以单用户身份运行):

代码语言:javascript
复制
chown apache:apache your.py

它打开或写入的任何文件也需要归同一用户所有。然后,您可能需要增加权限:

代码语言:javascript
复制
chmod 775 your.py

如果这不起作用,请输入python脚本的完整路径。您可以使用以下命令获取此信息:

代码语言:javascript
复制
which python

不要将这些完整路径硬编码到PHP代码中,将其放在一个配置文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15139953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档