【发布时间】:2013-07-11 15:30:13
【问题描述】:
有没有办法让 PHP 将 HTML 表单变量 (POST) 直接传递给在 PHP 中使用“passthru”调用的 python 脚本,而 PHP 不必知道变量名?
PHP 能否将 HTTP POST 请求传递给 python,即 python 中的cgi 模块将读取它,就像它是“从网络”传递的一样?
基本设置:Joomla CMS,带有 jumi 模块。
注意! RedHat 5.9 上的 Python 2.4、PHP 5.3.3 - 仅限标准包。
其中一个 jumi 应用程序是一个 python 脚本,它创建一个表单,并处理 POST 变量。
原因:本店python知识比较多,python脚本在后台做的很多。
在我的 jumi PHP 脚本中:
<?php
$var1 = $_REQUEST['myVar1'];
$var2 = $_REQUEST['myVar2'];
echo passthru('/usr/bin/python /var/www/html/joomla/jumi/portal-ldap.py '.$myVar1.' '.$myVar2);
?>
python 脚本然后使用sys.arvg 来处理这些变量。
它可以工作 - 无论如何,但这也意味着两个脚本都必须知道任何附加变量。
有没有办法让 PHP 以某种方式将表单变量直接传递给 python 脚本,以便 Python 中的“cgi”模块可以处理变量,就像我使用 framework/cgi/ 运行 python 脚本一样mod_python/...?
Python 处理表单变量:
import cgi
form = cgi.FieldStorage()
var1 = form.getvalue("myVar1", "nothing")
var2 = form.getvalue("myVar2", "nothing")
【问题讨论】: