执行需要使用PHP输入的系统命令

时间:2012-10-05 20:39:34

标签: php pear pecl

在PHP中是否有办法使exec()或其变体之一运行需要在执行会话中输入用户的系统命令。例如,可以是FTP transfer,或者甚至只是带有more标志的print语句命令。比如说在Windows command prompt我做了type bigfile.txt | more它给了我一个输出屏幕然后我用键盘让下一行出现。

从浏览器运行时,有没有办法使用任何PHP命令行执行函数捕获此行为?如果没有在标准PHP中,是否有任何PEAR / PECL资源,任何人在此之前使用过这些资源?

1 个答案:

答案 0 :(得分:0)

您可以使用proc_open执行此操作,它可以以非阻塞方式使用,并为您提供输入和输出管道。

然而,根据经验,我只会尝试将此作为最后的手段。使用非交互式可执行文件或本机PHP库通常可以维护得更多。例如,当你只能proc_open('mycommand | more')

时,我很难想出一个你想要exec('mycommand')的理由。