Python:模拟“的功能”;cgi fcgi“;程序
我需要定期从PHP-FPM中提取状态信息。目前我只分析以下脚本的输出:Python:模拟“的功能”;cgi fcgi“;程序,python,cgi,fastcgi,Python,Cgi,Fastcgi,我需要定期从PHP-FPM中提取状态信息。目前我只分析以下脚本的输出: 导出脚本\u NAME=/status 导出脚本\u文件名=/status 导出请求\u方法=获取 /usr/bin/cgi fcgi-bind-connect/tmp/php5-fpm.sock 但是,如果可能的话,我希望我的Python程序能够真正独立完成cgi fcgi的工作 我尝试搜索Python如何调用CGI/FastCGI;不幸的是,我找到的所有文档总是谈论如何通过CGI/FastCGI调用Python程序。也
导出脚本\u NAME=/status
导出脚本\u文件名=/status
导出请求\u方法=获取
/usr/bin/cgi fcgi-bind-connect/tmp/php5-fpm.sock
但是,如果可能的话,我希望我的Python程序能够真正独立完成cgi fcgi
的工作
我尝试搜索Python如何调用CGI/FastCGI;不幸的是,我找到的所有文档总是谈论如何通过CGI/FastCGI调用Python程序。也就是说,“服务器”端的Python
那么,如何在Python上实现CGI/FastCGI“客户机”
(请注意,cgi fcgi允许直接访问cgi/FastCGI侦听器;这正是我所寻找的)我投票认为是的副本 尽管如此,我还是想记录我的解决方案:
flup
中修改的fcgi_应用程序
模块(即flup.client.fcgi_应用程序)# "flup_fcgi_client.py" is the modified flup.client.fcgi_app module
# located in the same directory
import flup_fcgi_client as fcgi_client
fcgi = fcgi_client.FCGIApp(connect='/path/to/socket')
script = '/status'
query = 'json'
env = {
'SCRIPT_NAME': script,
'SCRIPT_FILENAME': script,
'QUERY_STRING': query,
'REQUEST_METHOD': 'GET'}
code, headers, out, err = fcgi(env)
# Handle return values here...