问题标签 [symfony-console]

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 回答
440 浏览

symfony - Symfony 命令调用其他命令并等待确认

我已经设置了一个像这里描述的元命令https://symfony.com/doc/3.4/console/calling_commands.html

它首先删除数据库,然后从头开始运行迁移,最后初始化我的数据。

自从我最近从创建模式切换doctrine:schema:createdoctrine:migrations:migrate

好的,这确实有效 - 有时。当我在本地执行此操作时,它可以工作。

但我在 docker 容器和 Gitlab CI 工具链中使用了所有这些。

为此我有一个shell脚本init.sh

我在我的 Gitlab-CI 测试操作的设置阶段执行(在容器运行之后:

然后输出让我发疯:

这意味着第一个命令按原样执行(删除数据库),但第二个命令等待“用户”输入“y”作为确认。

请注意,我提供了 BOTH--no-interaction$migrateInput->setInteractive(false);.

奇怪的是,这个命令在本地运行良好,但不是在 Gitlab-CI 运行它时!编辑:即使在本地,我也在运行一个 php docker 容器。如果我在我的 Mac 上执行docker exec php_container bash init.sh,脚本运行正确!

我在 docker 主机上使用本地 gitlab-ci-runner 容器(一年多以来我工作得很好)。

编辑:我还测试了将 3 个命令放入 中init.sh,结果相同。第二个脚本在从 gitlab-ci 执行时等待确认。

接下来,我直接把这三个命令放进去gitlab-ci.yml

这确实有效!所以看起来 bash 执行有点错误?

0 投票
0 回答
911 浏览

symfony - Symfony 在控制台命令中需要的参数不起作用

我在一个带有 1 个必需选项和 1 个必需参数的命令中使用 Symfony 的控制台组件。

但是,在执行时不需要选项和参数。

我错过了什么吗?相关代码如下。

我希望 setDefinition 参数提供 2 个必需的参数。情况似乎并非如此。

0 投票
2 回答
986 浏览

doctrine-orm - 如何在 Symfony 4 的 DoctrineFixtures 中排除一些要清除的表?

我们如何排除一些表(例如,国家、城市等)要通过教义:固定装置:加载清除?是否有任何 yaml 配置文件或其他?

0 投票
1 回答
192 浏览

symfony - 什么是 zend-expressive symfony 控制台命令的容器

我目前正在尝试集成这个库

https://www.xtreamwayz.com/blog/2016-02-07-zend-expressive-console-cli-commands

好像需要

谁能帮我指出需要指出哪个文件?它看起来像什么>?

0 投票
1 回答
37 浏览

symfony - Symfony 命令问题输入未完成

我正在尝试创建一个 symfony 控制台命令。我正在使用 symfony Question 来征求意见。但是在控制台中输入并没有通过“输入”键完成

这是我在命令执行方法中的代码:

这就是我在控制台中的内容:

0 投票
3 回答
2178 浏览

php - Symfony - 重置数据库的最佳实践

我正在开发一个 Symfony 4.2 项目,并且我正在寻找最佳实践,以在管理员需要通过后台中的按钮执行此操作时实现数据库的重置。

解释 :

该项目是一个临时活动网站。这意味着,人们只会访问该网站一天/一周,然后该网站就关闭了。例如,在篮球比赛期间观众进入体育场的网站。

比赛结束后,管理员希望通过一个按钮重置比赛期间发送的所有数据。

现在我这样做了,但我不知道这是否是生产环境中的更好方法。

我创建了一个在构造函数中获取 KernelInterface 的服务:

首先,在生产环境中这样做好吗?(其他管理员在进行此操作时不会使用该网站)

其次,我对我用来检查操作是否成功完成的方法不是很满意(strpos($responseCreate, 'successfully') !== false)。有人知道更好的方法吗?

非常感谢你的帮助

0 投票
1 回答
283 浏览

php - 如何在列中显示“choice()”的控制台提示?

在 Laravel 命令中,我正在寻找一种在多列中显示 52 个选项的方法,而不是一个需要滚动的长列表。

这可能吗?

这是我到目前为止的代码:

0 投票
1 回答
494 浏览

unit-testing - 如何在 symfony 3 控制台命令测试中设置控制台参数

在 Symfony 3.4 控制台命令应用程序中创建单元测试用例时,我无法设置参数

我的控制台命令

我的控制台代码

我尝试了以下测试代码

当我运行单元测试时,它显示以下错误消息

0 投票
1 回答
510 浏览

php - 在没有安装整个 symfony 的情况下在 Symfony 控制台程序上启用 Sentry

我有这个简单的控制台程序:

我像这样加载它:

我想在 Sentry 服务中记录上面抛出的异常。所以我的入口点是:

但是即使我设置了正确的环境变量,我也无法将错误记录到哨兵中。

该应用程序不加载完整的 Symfony 框架,而是只使用控制台组件,所以我不知道是否应该使用 Sentry Symfony 集成:https ://docs.sentry.io/platforms/php/symfony/

原因是因为我不知道如何在我的情况下加载包,因此我使用 SDK。

编辑1:

我还尝试捕获异常并手动记录它,但由于某些原因也没有记录:

0 投票
1 回答
883 浏览

symfony - 从控制器调用时如何在 Symfony 3.4 中实时显示命令输出?

我在我的控制器调用的 Symfony 3.4 应用程序中有一些命令:我想要实现的是实时获取它们的输出并将其打印在屏幕上。

根据他们的文档,我几乎尝试了有关 Symfony 进程的所有内容,但没有任何效果:我总是得到一个空输出(如果我转储内容,它会给我一个空字符串)。

我的命令:

我的控制器:

转储的输出:
转储的内容