问题标签 [symfony-process]

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 投票
3 回答
8492 浏览

windows - 使用 Symfony 进程运行一个异步 PHP 任务

对于耗时的任务(电子邮件发送、图像处理……你明白了),我想运行异步 PHP 任务。

在 Linux 上这很容易,但我正在寻找一种也适用于 Windows 的方法。

我希望它很简单,因为它应该是。没有大炮,没有 SQL 排队,没有一次又一次地安装东西……我只想运行一个该死的异步任务。

所以我尝试了Symfony Process Component。问题是,同步运行任务可以正常运行,但是当异步运行它时,它会沿着主脚本退出。

有没有办法来解决这个问题?


索引.php

下标.php

引导程序.php

结果

0 投票
2 回答
2713 浏览

php - 如何让 Symfony 启动进程 PID?

如何获取 Symfony 启动的进程的 PID?下面的代码

返回 PID 1488。但是系统中没有具有相同 PID 的进程(没有 vlc,没有 php)。

编辑

呈现的代码在 app/console (Symfony\Component\Console\Command\Command) 中运行

0 投票
2 回答
2659 浏览

php - Symfony 执行长时间运行的脚本

我正在使用 Symfony2,我想运行一个用 C++ 编写的长脚本(例如 60 分钟)。

现在我通过shell_exec()

如果我不断刷新页面脚本运行良好,但如果我去 AFK 脚本终止与 PHP 服务器进程 (/usr/bin/php-cgi)。

有没有办法将 C++ 程序与 PHP 服务器进程隔离开来?使用 nohup 进程的 ppid = 1,因此它应该被隔离,但事实并非如此。

0 投票
2 回答
960 浏览

bash - 当在 Behat 上下文中作为 Symfony 进程运行时,使用 Expect 生成交互式 CLI 命令以 0 提前退出

这是一个相当高级的问题,也许了解这个问题可能不需要 Symfony 和 Behat 的知识。

因此,为了测试bin/albumgrab我使用 Symfony 控制台组件用 PHP 编写的交互式 CLI 应用程序的输入和输出,我设置了 Behat 功能上下文来构建一个expect脚本,通过exec.

exec命令通过 Symfony 在 PHP 中运行Process

但是,当它通过第二个输入时,它似乎退出但成功。

来电:

让它一直运行,但会直接打印到标准输出,我不能再捕获输出来做出断言,即使使用 PHP 的输出缓冲也是如此。

无论如何,我认为 PTY 会更合适:

因为它是这个 StackOverflow 问题的解决方案。但是,并非所有地方都支持此功能,至少在 Mac OS X 上不支持。

您可以在 Github 中看到我迄今为止所做的尝试:https ://github.com/adamelso/albumgrab/pull/13/files和最后一次尝试的 Travis 输出https://travis-ci.org/adamelso/专辑抓取/工作/61137499

所以我的主要问题是为什么它一直以 0 提前退出以及如何防止它?

0 投票
1 回答
1907 浏览

symfony - 使用 Symfony 杀死进程

我正在尝试使用带有以下代码的 Symfony终止 pid 38456的进程:

可惜这行不通。我认为这是由于权限(Symfony 只能杀死自己的进程),但我不确定。

0 投票
1 回答
156 浏览

symfony - symfony 2.6.6 进程组件上的分段违规

当我尝试在 ProcessBuilder 创建的子进程上运行命令时,出现分段违规。

但这仅从 v2.6.0 到 v2.5.12 才发生

0 投票
0 回答
1493 浏览

symfony - Symfony 进程组件返回退出代码 -1

在某些机器上,我从 Symfony 进程命令中获得退出代码 -1,而在其他机器上,完全相同的代码返回退出代码 0。在这两种情况下,给定命令的输出都成功执行。

从 shell 运行相同的命令行会给出正确的退出代码 (0)。我制作了一个小测试用例来重现该问题:

关于如何诊断这个的任何想法?

0 投票
2 回答
3053 浏览

php - 使用 Symfony 进程解析命令行输出

在我的 Symfony 应用程序中,我需要对文件进行几项操作:目录中的文件列表,使用 gpg 解密它们,使用外部软件解析输出并再次加密。

我的第一个问题是:这是解决这个问题的正确方法吗?在另一种情况下,我会编写 bash/python 脚本来执行此操作,但是由于从 Symfony API 读取信息(用户 ID、密码短语等),我认为将调用嵌入到应用程序中非常方便。

我的第二个问题更具体:有什么方法可以有效地处理命令行输出和错误?例如,当我调用“ls”时,如何轻松地将输出转换为文件名数组?

0 投票
1 回答
78 浏览

php - 通过套接字发回守护进程的输出

我正在创建一个 Twitter 客户端,我需要处理来自每个流式处理的推文(从 Symfony 的Process组件开始)。我有一个在后台运行的websocket 服务器,它运行良好。

我的问题是我不知道如何从这些进程中获取数据流并通过套接字传回客户端。为了继续检查读取输出,我需要为其创建一个 while 循环,但这会阻止其他用户启动他们的流,因为套接字服务器将停留在该循环中。

如果可能的话,我想避免使用数据库队列。

服务器,从终端启动:

流光:

0 投票
1 回答
467 浏览

php - windows - Symfony2 Process crashes when passing env variables

Apologies in advance if this question has already been answered before. It's kind of hard to find something exactly like this. As the title already says, I'm trying to spawn a Symfony2 Process which executes a cmd file on Windows, a shell script on linux.

On linux everything works just fine. On Windows however, it crashes when I try to pass environment variables to my process.

http://symfony.com/doc/current/components/process.html

The code looks roughly like this:

The process exits with exit code (-1073741819) and produces no output whatsoever.

When I remove the setEnv method and not pass any env vars, the process runs perfectly.

edit: I'm running Windows 10 Home. Running PHP 5.6