问题标签 [proc-open]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
443 浏览

php - PHP proc_open 多输入

我想使用 proc_open 函数启动一个 CLIPS 进程,以便与 CLIPS 脚本进行交互。所以如果我这样设置:

一切似乎都很好。该过程开始并正确结束

但是当向 CLIPS shell 发送多个输入时,例如:

然后该进程不会终止,并且 PHP 在 proc_close 处挂起,并且只有在从系统监视器中终止该进程时它才会完成。检查stream_get_contents输出似乎永远不会将(退出)输入发送到进程。此外,当调用 fclose( $pipes[0]) 时,CLIPS 进程的 CPU 使用率从 0% 直接变为 100%。这可能是什么原因?

0 投票
1 回答
1333 浏览

java - 使用 proc_open() 在 PHP 中运行 java 并获取输出

请帮忙。我无法弄清楚通过 proc_open() 运行 java 文件的问题是什么。它适用于 C 程序,我能够获得每行的输出,所以我认为以这种方式获取输出流没有任何问题:

为了在 PHP 中运行 Java,我使用以下代码:

检查扩展名,然后编译 if java(这是成功的,因为它能够在同一目录中生成 CLASS 文件:


在此处输入图像描述


要执行程序,

我曾尝试在 Window 的 cmd 中运行此命令,并且它有效(能够运行 java 并打印“Hello, World”),所以我确信它没有任何问题。

我在错误日志文件中收到此错误:

我不知道 PHP 在通过 proc_open 执行 java 时是否使用了另一个 java 源路径。我假设因为它使用的是我的 Window 的 cmd,所以不会有库加载问题或任何与“版本”相关的问题。

这里可能是什么问题?非常感谢!我将不胜感激。

0 投票
1 回答
137 浏览

php - 在 Linux 上使用 pear 配置 php

我在我的 linux 机器上安装了lampp。我正在尝试使用 proc_open 如下。

但我收到警告:proc_open() [function.proc-open]: pty 伪终端在此系统中不支持...

我发现我需要在 php 中启用 pty,例如 ./configure --enable-pty。但是php是作为lampp的一部分安装的。我无法配置 php。

如何使用 pear 启用 pty。请帮忙。

0 投票
0 回答
225 浏览

php - 使用 proc_open 验证使用登录信息

我一直想使用实际机器的用户名和密码来验证网站凭据。我已经研究了其他一些解决方案,但我认为这种方法会给我带来最少的问题,因为它已经是我知道可以工作的 shell 函数,只需要很少的设置,而且看起来很容易管理。

注意,这是我第一次发帖(大声笑 PHP 笑话),所以我的格式可能不是那么漂亮。

这是简短的示例脚本。

当我运行它时,输出如下

我试着改变

但现在它说

此外,这是在 OSX 服务器上运行并使用 PHP 5.4.17 版!如果它适用于另一个操作系统,我不知道。

0 投票
1 回答
406 浏览

php - PHP:通过使用 proc_open("ssh hostname 'tail -F ~somefile' ") 死锁

碰巧我需要通过 ssh 通过 php(使用 phpunit)跟踪文件状态。但是当我尝试启动此代码时:

什么也没有发生 - 没有输出,我猜死锁已被执行:脚本没有退出。有什么想法吗?或建议?

0 投票
2 回答
1514 浏览

php - 环境未传递给由 proc_open 打开的进程

我在将环境变量传递给使用 proc_open 打开的进程时遇到问题。我在http://us2.php.net/manual/en/function.proc-open.php上找到了以下示例

该示例应像文档中所说的那样回显 env 数组。但是在我的机器(PHP 5.4.6-1ubuntu1.4 (cli))上,回显数组是空的。是否存在一些禁止 env var 传递给进程的 Suhosin 或 php.ini 限制?我不知道。

0 投票
1 回答
6711 浏览

php - php proc_open 'su: 必须从终端运行'

我在个人 Ubuntu Server 机器上有这个 PHP 代码:

我从 PHP 得到这个响应:

很明显我想更改活动用户但是有什么办法可以从 php 中做到这一点?

0 投票
1 回答
873 浏览

php - 在 PHP 脚本中从 aria2c 读取 STDOUT

这是简单的PHP脚本:

问题是输出中的进度数据在 aria2c 完成之前“停滞”。当 aria2c 进程结束时,它会立即将所有输出突发到我的脚本中。它与 fpassthru() 无关,我尝试了普通的 fread(),结果相同。

流量:

[注意] 文件已存在。重命名为 /tmp/file100m.dat.4。

<...巨大的延迟然后爆发...>

[#edb1dc 70MiB/100MiB(70%) CN:1 DL:8.4MiB ETA:3s]

[#edb1dc 81MiB/100MiB(81%) CN:1 DL:9.7MiB ETA:1s]

[#edb1dc 92MiB/100MiB(92%) CN:1 DL:10MiB]

我需要得到像“[#edb1dc 92MiB/100MiB(92%) CN:1 DL:10MiB]”这样的行,而不必等待 aria2c 结束以收集有关当前进度的信息。

更不用说,如果我在控制台 aria2c 中运行完全相同的命令可以正常工作。

0 投票
0 回答
157 浏览

php - proc_open() 子进程在完成任务之前被终止

我正在尝试使用以下语句生成一个进程

通过 PHP 脚本。我正在使用生成的进程来执行一个简单的 Scala 程序并捕获程序的输出。但不幸的是,我没有成功。子进程成功运行,但几秒钟后由于 sigterm 信号而终止。

最后它的打印过程得到了sigterm。我一直尝试在httpd中使用ulimit来增加CPU时间,我还尝试设置最大执行时间但没有成功。我将非常感谢这方面的任何帮助。

0 投票
1 回答
1688 浏览

proc-open - 如何启用 Zpanel php 函数 proc_open

我有一台带有 Zpanel 的 VPS 服务器。我想启用 proc_open 功能。我在 php.ini 文件中搜索 disable_functions 但什么也没有。我的脚本说这个功能被禁用了。如何解决这个问题?谢谢。