在PHP和进程之间使用命名管道的任何可预见的限制?

时间:2013-01-16 14:54:10

标签: php c linux

我想编写一个php文件,它将命令发送到系统(但也处理stdin,以便也可以使用交互式程序)。我已经读过这不能在php中完成,所以我用C语言编写了一个程序,它设置了2个FIFO(输入/输出)。我已经按照以下意义测试了它:

(打开3个终端)

终端1:./program用于设置管道 2号航站楼:cat fifo_out 终端3:回声“ls -l”> fifo_in

这将在终端2中显示。我将很快在C程序中实现stdin。

所以从php文件中我计划发送命令并回送响应(包括最终处理stdin)。有什么“陷阱”我应该知道这会让这个变得不可行吗? (例如,php没有很好地处理这些程序之间的命名管道,或者有超时或权限等等?有什么建议可以避免这些陷阱吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

据我所知,您可以使用proc_open()来运行具有双向IO的程序。该文档包含一个相当全面的示例