我登录AS400并转到QSHELL(STRQSH)。之后我粘贴了以下命令并在QSHELL中运行它
system "IVIEW/PRTDISTL APPNAME(MYJOBLOG) STMF(TEST_89.PDF) HOLD(*NO)"
有效。但是当我使用PHP脚本执行上述命令时,如下所示
$cmd = "IVIEW/PRTDISTL APPNAME(MYJOBLOG) STMF(TEST_89.PDF) HOLD(*NO)";
$cmd = 'system "' . $cmd . '"';
$output = array();
exec ($cmd, $output , $retVal);
echo "return value code: " . $retVal;
它返回错误代码255.请帮我解决这个问题。感谢
答案 0 :(得分:1)
试用适用于i5 / OS的PHP Toolkit。有一本较旧的红皮书描述了它:http://www.redbooks.ibm.com/redbooks/pdfs/sg247327.pdf
来自那里的一个例子:
<HTML>
<?php
/* Connect to server */
$conn = i5_connect("localhost", "PHPUSER", "MYPASSWORD");
if (!$conn)
die("<br>Connection using \"localhost\" with USERID and PASSWORD failed. Error
number =".i5_errno()." msg=".i5_errormsg())."<br>";
else
echo "<br>Connection using \"localhost\" with USERID and PASSWORD OK!<br>\n";
/* Call Retrieve Network Attributes command */
$ret = i5_command("rtvneta", array(), array("sysname" => "sysn", "lclnetid"=>"lclnet"));
if (!$ret) die("<br>rtvneta command failed. errno=".i5_errno()."
msg=".i5_errormsg());
print "<h1><b>Results of \"rtvneta\" command </b></h1><br>" ;
print "System Name : $sysn<br>" ;
print "Local Net ID : $lclnet<br>" ;
/* Close connection */
i5_close($conn);
?>
</HTML>
答案 1 :(得分:1)
我看到两个问题:
您可以检查stdout中的更多信息,您应该在$ output中找到这些信息,以及IBM i information center中提到的PHP服务器作业日志(可能需要标记'system -K')。