用PHP参数调用cgi / py

时间:2011-02-14 20:36:57

标签: php python variables cgi

我正在尝试从php中执行cgi / python脚本,同时将cgi / python脚本传递给参数。

在我的php中我有

<? echo exec('/var/www/cgi-bin/test.cgi ' + $_POST["var"]); ?>

然而它不起作用,并且在apache日志中它显示'sh:0 not found'

此测试脚本非常简单:

#!/usr/bin/python
import cgi, sys, os

for arg in sys.argv:
    print arg

1 个答案:

答案 0 :(得分:2)

有人指出,PHP中的字符串连接运算符是.,而不是+

“添加”非数字字符串的结果为0.这就是shell尝试运行命令“0”并返回错误:“sh:0 not found”的原因。

试试这个:

exec('/var/www/cgi-bin/test.cgi ' . escapeshellcmd($_POST["var"]));

另请注意,shell命令参数应使用escapeshellcmd进行转义。