使用Zendserver从IBM i Server调用PHP 我发送了一些Parms到php脚本。在我们的一台机器上,parms被拆分为空白? 但为什么 ?它们是Doublequotes ??
CALL PGM(QP2SHELL) +
PARM('/USR/LOCAL/ZENDSVR/BIN/PHP-CLI' +
'/www/zendsvr/htdocs/test/t1.php' +
'Hallo Test' + 'P2' + 'P3')
在PHP中,args数组包含
[0] => /www/zendsvr/htdocs/idsmail/t1.php5
[1] => Hallo
[2] => Test
[3] => P2
[4] => P3
在其他机器上,同一程序工作正常吗?
有什么想法吗?
Bye jogi
答案 0 :(得分:0)
如果您的示例与您的CL代码完全相同,那么您的+
符号太多了。在源代码中,CL命令通常在一行结尾处终止。如果您的命令继续到另一行,则用+
符号表示。在这种情况下,它不是一个连接运算符(可能是||
)。空格足以分隔参数。
您不需要第4行的+
符号,这将被视为算术运算符。这应该可以解决您的问题:
CALL PGM(QP2SHELL) +
PARM('/USR/LOCAL/ZENDSVR/BIN/PHP-CLI' +
'/www/zendsvr/htdocs/test/t1.php' +
'Hallo Test' 'P2' 'P3')
关键字PGM和PARM不是必需的,所以我个人会这样写:
CALL QP2SHELL ('/USR/LOCAL/ZENDSVR/BIN/PHP-CLI' +
'/www/zendsvr/htdocs/test/t1.php' +
'Hallo Test' +
'P2' +
'P3' +
)