The PHP program does:
• connection with i5_connect
• ADDLIBLE of EASYCOMXMP with i5_command
• open the "*LIBL/DTAQ_FIFO” with i5_dtaq_prepare
• send data with i5_dtaq_send
• read data with i5_dtaq_receive
• close data queue with i5_dtaq_close
<?php
$user = "user";
$pass = "pwd";
$connect = "power8";
$property = array (I5_OPTIONS_JOBNAME => "PHPDQ" );
$TraceLvl = 4;
$TraceFile = "CR/TRACEPHP2";
$Hdlcon = i5_connect($connect, $user, $pass, $property);
$retStartTrace = i5_start_testfile($TraceFile, $TraceLvl);
echo 'Trace activated<br/>';
i5_command("ADDLIBLE LIB(EASYCOMXMP)");
echo 'i5_command ADDLIBLE done<br/>';
$description = array("Name"=>"DATA", "Type"=>I5_TYPE_CHAR, "Length"=>"50");
$data = i5_dtaq_prepare("*LIBL/DTAQ_FIFO", $description);
if ($data == false){
$erreur = i5_error();
print_r ($erreur);
}
$donnees = 'test PHP Aura';
$ret = i5_dtaq_send($data, "", $donnees);
if ($ret) {
echo 'write done<br/>';
}
else
{
$erreur = i5_error();
print_r ($erreur);
}
$rec = i5_dtaq_receive($data);
if (is_bool($rec))
{
$erreur = i5_error();
if ($erreur[0]==14)
{
echo 'Data Queue is empty';
}
else
{
print_r($erreur);
}
}
else
{
echo 'read done<br/>';
echo 'data = ' . $rec . '<br/>';
}
$ret = i5_dtaq_close ($data);
if ($ret) {
echo 'DTAQ close<br/>';
}
else
{
$erreur = i5_error();
print_r ($erreur);
}
?>