mod_python req.subprocess_env未“看到”PythonOptions

0 投票
1 回答
612 浏览
提问于 2025-04-15 15:36

我在从Apache配置中获取一个环境变量时遇到了麻烦。(别问为什么要这样做,我不是最初写这个代码的人)

这是我在Apache配置中的内容。

<Location "/var/www">
    SetHandler python-program
    PythonHandler mod_python.publisher
    PythonOption MYSQL_PWD ###########
    PythonDebug On
</Location>

这是有问题的代码...

#this is the problem code in question.
def index(req):
    req.add_common_vars()
    os.environ["MYSQL_PWD"] = req.subprocess_env["MYSQL_PWD"] 
    req.content_type = "text/html"

    statText = getStatText()

这是我执行时得到的错误追踪信息。

Traceback (most recent call last):

  File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in   HandlerDispatch
  default=default_handler, arg=req, silent=hlist.silent)

File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target
result = _execute_target(config, req, object, arg)

 File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target
 result = object(arg)

File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 213, in handler
published = publish_object(req, object)

File "/usr/lib/python2.5/site-packages/mod_python/publisher.py", line 425, in publish_object
return publish_object(req,util.apply_fs_data(object, req.form, req=req))

File "/usr/lib/python2.5/site-packages/mod_python/util.py", line 554, in apply_fs_data
return object(**args)

File "/var/www/admin/Stat.py", line 299, in index
os.environ["MYSQL_PWD"] = req.subprocess_env["MYSQL_PWD"]

KeyError: 'MYSQL_PWD'

1 个回答

0
os.environ["MYSQL_PWD"] = req.get_options()["MYSQL_PWD"]

请查看关于PythonOption的文档,获取更多详细信息。

撰写回答