करने के लिए एक प्रक्रिया से पाइप करने में असमर्थ हूं timer.php में मैं इस है:PHP में मैं एक और
$handle = fopen('php://stdout', 'wa') ;
$unusedEvTimerObject = new EvTimer(0, 1, function ($watchercallback) use ($handle) { //create & call timer
echo "=>".(Ev::iteration() % 60)."<=";
fwrite($handle, "Hello World! \n");
});
Ev::run();
fclose($handle);
और child.php में मैं इस है:
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "/tmp/error-output.txt", "a")
);
$process = proc_open('php ', $descriptorspec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0], "<? include('app/timer.php'); ?>");
fclose($pipes[0]);
$output = "";
while (!feof($pipes[1])) {
$output .= fgets($pipes[1]);
};
fclose($pipes[1]);
$return_value = proc_close($process);
echo "command returned $return_value\n";
}
अगर मैं आह्वान
$ php एप्लिकेशन/timer.php
उत्पादन मैं के साथ प्रत्यक्ष timer.php "=> 1 < = नमस्ते विश्व है! => 2 < = हैलो वर्ल्ड! "
लेकिन अगर मैं $ php एप्लिकेशन/child.php साथ आह्वान मुझे कोई उत्पादन जबकि मैं child.php करने और इसके द्वारा मुद्रित किया जा रीडायरेक्ट करने के लिए timer.php से stdout उम्मीद थी मिलता है।
मैं थोड़ा & बह रहा हूं, मुझे लगता है कि child.php को कोई इनपुट नहीं मिल रहा है लेकिन मैं नहीं देख सकता क्यों। परिचय सहायता
आप बच्चे को फ़ाइल में बफर में सभी उत्पादन पर कब्जा करने की कोशिश कर सकते, तो अंत में यह उत्पादन प्रिंट –