Hello,
I stored a fsockopen function in a separate "called.php" file, in order to run it as another thread when it needs.
The called script should return results to the "master.php" script.
I'm able to run the script to get the socket working, and I'm able to get results from the called script. I tried for hours but I can't do the twice both
My master.php script (with socket working):
<?php
$command = "(/mnt/opt/www/called.php $_SERVER[REMOTE_ADDR] &) > /dev/null";
$result = exec($command);
echo ("result = $result\r\n");
?>
and my called.php script
#!/mnt/opt/usr/bin/php-cli -q
<?php
$device = $_SERVER['argv'][1];
$port = "8080";
$fp = fsockopen($device, $port, $errno, $errstr, 5);
fwrite($fp, "test");
fclose($fp);
echo ("normal end of the called.php script");
?>
In the master script, if I use
$command = "(/mnt/opt/www/called.php $_SERVER[REMOTE_ADDR] &) > /dev/null";
the socket works, but I have nothing in $result
(note also that I don't anderstand why the ( ... &) are needed!?)
and if I use
$command = "/mnt/opt/www/called.php $_SERVER[REMOTE_ADDR]";
I have the correct text "normal end of the called.php script" in $result but the socket connection is not performed (no errors in php logs)
Could you help me to find a way to let's work the two features correctly together?
Thank you.