Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在运行commands.getstatusoutput未从apache返回预期结果_Python_Apache_Openstack_Openstack Heat - Fatal编程技术网

Python 正在运行commands.getstatusoutput未从apache返回预期结果

Python 正在运行commands.getstatusoutput未从apache返回预期结果,python,apache,openstack,openstack-heat,Python,Apache,Openstack,Openstack Heat,我有以下代码作为get_status.py #!/usr/bin/env python from cgi import escape from flup.server.fcgi import WSGIServer import commands import subprocess def do_get_status(): cmd = """/usr/bin/heat --os-username admin --os-password admin --os-tenant-name adm

我有以下代码作为get_status.py

#!/usr/bin/env python
from cgi import escape
from flup.server.fcgi import WSGIServer
import commands
import subprocess

def do_get_status():
    cmd = """/usr/bin/heat --os-username admin --os-password admin --os-tenant-name admin --os-auth-url http://ipaddress:35357/v2.0/ stack-show demo_stack"""
    status, out = commands.getstatusoutput(cmd)
    return "<pre>" + str(out) + "</pre>"

def app(environ, start_response):

    # initialise and login to the website
    #test = testpost.cookie(target_url,username, password)
    qs = environ['QUERY_STRING']
    result = do_get_status()

    start_response('200 OK', [('Content-Type', 'text/html')])
    return result

WSGIServer(app).run()
该python脚本正在apache cgi bin中运行。两天前,它工作得很好,但现在突然停止了工作。 若我接受命令并在命令行上运行它,我将得到预期的结果。我甚至尝试用python get_status.py运行同一段代码,得到了预期的结果。
我无法理解可能存在的问题。

我自己能够解决这个问题。暴力的方式是禁用selinux。一旦我确定selinux是问题的原因,我就通过对selinux设置进行更精细的调整来进一步解决它,以允许从apache执行外部连接和cli命令(例如,根:
setsebool-P httpd\u can\u network\u connect 1

中所述,您确定域可以
http://openstackserver
但不是
http://openstackserver.com
顺便问一下,我不确定
v2.0
中的
是否可以作为URL的一部分。您是否尝试在浏览器中打开URL并查看是否工作正常?openstackserver是一个IP地址。正如我提到的,它在命令行中工作正常。是的,我能够打开url浏览器。你能够在bana解决这个问题吗?我也有同样的问题。我能够在python shell中执行,但不能在Django应用程序(由apache提供支持)中执行。是的,请禁用selinux,或者您可以微调selinux设置,以允许从apache执行外部连接和cli命令
Unable to establish connection to http://ipaddress:35357/v2.0/tokens