阅读量:0
在PHP中,popen()
函数用于打开一个进程文件指针,从而与进程进行通信。要实现双向通信,你需要在打开进程时指定一个读取和写入的管道。下面是一个简单的示例,展示了如何使用popen()
实现双向通信:
<?php // 创建一个子进程,执行 "bash" 命令 $process = popen("bash", "r+"); if (!$process) { die("Failed to start the process."); } // 向子进程发送数据 fwrite($process, "echo 'Hello from parent'\n"); // 从子进程读取数据 $output = stream_get_contents($process); echo "Output from child: " . $output; // 关闭进程 pclose($process); ?>
在这个示例中,我们创建了一个子进程来运行bash
命令。然后,我们使用fwrite()
函数向子进程发送数据,并使用stream_get_contents()
函数从子进程读取数据。最后,我们使用pclose()
函数关闭进程。
请注意,这个示例仅适用于运行bash
的Linux系统。如果你需要在Windows上实现类似的功能,你可以使用cmd.exe
命令并指定相应的参数。