【问题标题】:execute system commands which need input using PHP使用 PHP 执行需要输入的系统命令
【发布时间】:2012-10-05 20:39:34
【问题描述】:

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

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

【问题讨论】:

    标签: php pear pecl


    【解决方案1】:

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

    但是,根据经验,我只会在万不得已的情况下尝试这样做。使用非交互式可执行文件或原生 PHP 库通常更易于维护。例如,当你可以exec('mycommand') 时,我正在努力想出一个你想要proc_open('mycommand | more') 的理由

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2012-03-17
      • 2011-07-10
      相关资源
      最近更新 更多