首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows上的PHP proc_open

windows上的PHP proc_open
EN

Stack Overflow用户
提问于 2012-03-28 14:11:02
回答 2查看 4.6K关注 0票数 16

我使用proc-open创建了一个进程,但是在windows下,流选择无法工作。我试图实现的是从stdout和stderr中读取,同时还编写stdin并确保输出可以与输入匹配。有什么办法可以解决windows的不足吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-05 19:17:45

对于在Windows上使用流-select不适合您的内容,您不是很详细。但是,这是一个关于如何使用的工作示例。我刚刚在Windows上用PHP5.4成功地运行了这个程序。

编辑: Uhhmmm.似乎它毕竟不起作用.Sry,在这里测试更多..。:)

编辑:

所以,我做了更多的实验,但没有成功。

也许你应该让进程彼此交流TCP/UDP/IP?

另一种方法(如果您仍然希望在您的进程中使用stdout/stdin/stderr )可能是在文件处理程序中使用proc_open,所以您的进程正在写入文件,然后使用类似于unix‘inotify的方法,使用PHP类加载这些内容:Windows上有类似inotify的东西吗?来检测文件的更改…?只是一个主意..。

或者换一个类似unix的操作系统?)好的,今晚就这样吧。晚安

票数 1
EN

Stack Overflow用户

发布于 2018-12-13 00:14:38

添加bypass_shell给我起了作用

代码语言:javascript
复制
$proc=proc_open($cmd,
        array(
            0=>array('pipe', 'r'), //stdin
            1=>array('pipe', 'w'), //stdout
            2=>array('pipe', 'w')  //stderr
            ),
        $pipes,
        $dir,
        null,
        array('bypass_shell'=>true)
    );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9909315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档