Php 帕尔姆在空白处分开
使用Zendserver从IBMi服务器调用PHP 我向php脚本发送了一些参数。在我们的一台机器上,PARM是用毛坯分割的? 但是为什么呢?它们在双引号中Php 帕尔姆在空白处分开,php,ibm-midrange,zend-server,Php,Ibm Midrange,Zend Server,使用Zendserver从IBMi服务器调用PHP 我向php脚本发送了一些参数。在我们的一台机器上,PARM是用毛坯分割的? 但是为什么呢?它们在双引号中 CALL PGM(QP2SHELL) + PARM('/USR/LOCAL/ZENDSVR/BIN/PHP-CLI' + '/www/zendsvr/htdocs/test/t1.php' +
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
在其他机器上,相同的程序运行良好
有什么想法吗
再见jogi如果您的示例与您的CL代码完全相同,那么您的符号太多了。在源代码中,CL命令通常在一行末尾终止。如果您的命令继续执行到另一行,则用
+
符号表示。在此上下文中,它不是一个表示串联运算符(即| |
)。空格足以分隔参数
第四行不需要+
符号,这将被视为算术运算符。这将解决您的问题:
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' +
)
我在你的代码中没有看到任何双引号。。。运行方式不同的机器-有没有可能它运行的是不同版本的操作系统?如果call语句的第4行实际上是这样的,那么您将出现语法错误,无法访问PHP。