问题标签 [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.
symfony - Symfon2 进程不是以 & 开头的 - &
我有一个 symfony 命令来发送电子邮件。在终止侦听器中,我运行此命令。
下面是我运行的命令,
我将& (&)符号传递给命令,以便在 shell 上生成一个新进程。
Symfony 的版本是2.4并且运行良好。上周我将版本更新到2.7,现在它无法正常工作。
似乎该命令未在 shell 中运行。我正在使用 Symfony 进程。
我试图得到errorOutput,输出并且它们都返回空。
有人遇到过这种问题吗?
(注意 - 我的操作系统是 Windows 7,我在 WAMP 上运行我的应用程序)
symfony - 通过 Symfony 组件使用 unoconv 将 DOC 转换为 PDF
我正在尝试通过命令行使用 unoconv 通过 PHP 将 word 文档转换为 PDF。
我正在使用Symfony Process Component通过命令行运行命令。
这不会产生任何输出,也不会转换文件。但是,如果我回显$cmd
并将其粘贴到 CLI 中,它会按预期转换文件并记录输出。
任何想法可能是什么问题?
编辑:我已经尝试过:在 symfony 类上调用mustRun()
&方法。start()
mustRun()
给出以下错误:
"The command '//command//' failed. Exit Code: 251(Unknown error) Output: ================ Error Output: ================
按照 Diego Ferri 的建议添加日志代码后,我进入Error: Unable to connect or start own listener. Aborting.
日志文件;但我在网上找不到太多对此有帮助的东西。
php - Symfony Process calling php from commandline causes "General error" only on Windows
I was given a lot of legacy code using Symfony2, which was running on Linux, but I need to start it on Windows. Almost everything is working (XAMPP), but I have problem with one thing.
During the user registration, sending mails was taking too long to load confirmation page (depending on the options there could be a couple of emails), so for every email there's a record added in DB, which contains just a command, like "php /path/to/app/console product:send_some_mail address@host"
etc.
Then there's a Command which takes all those not sent emails and sends it one by one. That command was previously called like this:
That's quite obvious the path was not exacly right on Windows, so I tried to make it more universal. I'll paste the whole test code:
Strangely, everything I see in the pseudo-log file is:
php C:\gitrepos\product\app\console product:send_all_mails mymail@host.com --env=my_env :: General error
I have no idea, what's going on. I double-checked everything I could think of:
- php.exe is in %PATH%
- the command works, if is called from cmd, even with Windows Compatibility (
cmd /V:ON /E:ON /C "(my_commandline)"
) - sendmail is configured correctly, other mails are sent without problems
- I removed ConEmu which was taking over cmd
- yes, on Linux it works
Earlier I tried to run the product:send_all_mails as command, but it wasn't running in background. That's quite obvious php has some problems executing php :)
What else could I try? I just need to run a batch of different Commands with different arguments from one Command (or Process) in background.
json - 带有 json_encode 和 shell_exec 的 JSON 无效
我正在使用Symfony 的控制台组件编写一些命令行工具,其中一个使用 WP-CLI 来设置 WordPress 站点。特别是使用wp option update
我遇到了 JSON 和引号的问题。
例如,运行类似:
结果在数据库中的文字''
。事实上,每当我使用该命令时,如果它成功,我尝试在数据库中设置的任何内容都包含在单引号中。
然后是这样的:
转储结果:
这是有效的 JSON,但该wp
命令导致以下结果:
您会注意到引号已被删除,我认为这就是它所抱怨的?或者这就是它转储错误的方式?
无论哪种方式,然后我决定对 JSON 进行硬编码,所以只需:
这给了我以下错误:
错误:位置参数太多:,bitbucket_username:用户名,bitbucket_password:密码}'
我打赌这两个问题是相关的。我想这可能是一个 WP-CLI 问题,所以我在那里打开了一个问题,但没有得到答案就关闭了。然而,我越是盯着它看,我就越觉得它可能是 Symfony 的东西。也许我肯定需要使用流程组件而不是shell_exec
?这就是它的设计目的吗?
更新:尝试了 Symfony 进程组件:
仍然得到我的两个报价。所以那里什么也没做。
symfony - 进程 Symfony 组件不在后台启动
我在下面向您展示了一些关于我想做的假人示例。我需要使用 symfony2 启动一个后台进程。此函数位于控制器中,我想在命令行运行时返回响应。如果我做我在下面写的,当我调用一些正常的函数时它非常相似。我的意思是,在流程结束之前,控制器不会向用户发送“ok”。
如何在后台运行它?
php - PHP控制台命令不会在进程结束时停止
我在一个 PHP 5.6 / Symfony 2.7 项目中遇到了一个奇怪的 PHP 错误,该项目通过 Apache 在 CentOS6 服务器上运行。
我有一个 Symfony 控制台命令作为服务运行,它每 2 秒启动一些其他控制台命令。我使用 Symfony Process 组件来启动子流程并进行超时管理。并且一切都已完成以避免从主命令启动并行进程。
我遇到的问题是,有时 php 控制台命令在完成它们的过程后不会停止。这意味着如果我手动启动命令,一切都在 PHP 端正常运行,但在 PHP 语句完成后我不会在控制台上重新启动,除非我使用 Ctrl+C。
当 PHP 版本为 5.5 时,此问题发生了很多次,但现在使用 PHP 5.6,它(仅)随机发生。当它发生时,我可以看到很多卡住的 php 子进程,可能是由主命令启动的。
我只是找不到任何解释,因为 php 命令不会引发任何错误。只是控制台卡住并等待完成。
有没有人可以解决这个问题?
php - 一旦请求完成,Symfony Process 组件就会死掉
此功能导入联系人。我想启动一个在后台合并联系人的进程。我正在使用 Process 类。但是,它无法成功运行,因为当请求将响应返回给客户端时,它也会终止该进程。在 http 请求结束后,我该如何保持我的进程处于活动状态?
注意:在我的本地主机中工作正常,但在我的在线远程服务器中却不行。也许原因是 php.ini
symfony - 无法安装 laravel 包,symfony/process 版本错误
我尝试安装一些需要 2.* 版本的软件包,但新的 laravel 版本使用 3.*
有什么方法可以“降级”软件包,还是我必须等到软件包更新到最新版本?
symfony - Cannot upgrade to Symfony 3 because of a dependency
I'm trying to upgrade from Symfony 2.8 to Symfony 3, but I cannot update it from Composer.
I get this error :
When I look the composer.json file of this library I need, I see this :
You can find the composer file of Jobby here : https://github.com/jobbyphp/jobby/blob/master/composer.json
The problem is that in Symfony 3, the symfony/process version is 3.0, and because of the "^2.7" on Jobby's composer.json, I cannot get it. I know that there is no backwards compatibilities problems with symfony/process, so how can I do to fix / ignore that problem ?
Regards
symfony - 将信号转发给 symfony 进程组件的子进程
我正在尝试编写一个小脚本,该脚本将使用 symfony 组件 Process ( http://symfony.com/doc/current/components/process.html )管理一系列后台进程。
为了使其正常工作,我想处理发送到主进程的信号,主要是 SIGINT ( ctrl + c)。
当主进程收到此信号时,它应该停止启动新进程,等待所有当前进程退出,然后自行退出。
我成功地在主进程中捕获了信号,但问题是子进程也收到了信号并立即退出。
有没有办法改变这种行为或中断这个信号?
这是我演示该行为的示例脚本。
运行此脚本并发送信号(按 ctrl + c)将立即停止父进程和子进程)。
如果我用 isRunning 调用替换 while 循环,用进程上的等待方法调用替换睡眠,我得到一个 RuntimeException 说:进程已经用信号“2”发出信号。
如果我采取更手动的方法并使用 phps build in exec 执行子进程,我会得到我想要的行为。
在这种情况下,当我发送信号时,主进程在退出之前等待它的子进程完成。
有什么方法可以获取 symfony 进程组件中的行为?