问题标签 [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.
symfony - Symfony 命令调用其他命令并等待确认
我已经设置了一个像这里描述的元命令https://symfony.com/doc/3.4/console/calling_commands.html
它首先删除数据库,然后从头开始运行迁移,最后初始化我的数据。
自从我最近从创建模式切换doctrine:schema:create
到doctrine: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 执行有点错误?
symfony - Symfony 在控制台命令中需要的参数不起作用
我在一个带有 1 个必需选项和 1 个必需参数的命令中使用 Symfony 的控制台组件。
但是,在执行时不需要选项和参数。
我错过了什么吗?相关代码如下。
我希望 setDefinition 参数提供 2 个必需的参数。情况似乎并非如此。
doctrine-orm - 如何在 Symfony 4 的 DoctrineFixtures 中排除一些要清除的表?
我们如何排除一些表(例如,国家、城市等)要通过教义:固定装置:加载清除?是否有任何 yaml 配置文件或其他?
symfony - 什么是 zend-expressive symfony 控制台命令的容器
我目前正在尝试集成这个库
https://www.xtreamwayz.com/blog/2016-02-07-zend-expressive-console-cli-commands
好像需要
谁能帮我指出需要指出哪个文件?它看起来像什么>?
symfony - Symfony 命令问题输入未完成
我正在尝试创建一个 symfony 控制台命令。我正在使用 symfony Question 来征求意见。但是在控制台中输入并没有通过“输入”键完成
这是我在命令执行方法中的代码:
这就是我在控制台中的内容:
php - Symfony - 重置数据库的最佳实践
我正在开发一个 Symfony 4.2 项目,并且我正在寻找最佳实践,以在管理员需要通过后台中的按钮执行此操作时实现数据库的重置。
解释 :
该项目是一个临时活动网站。这意味着,人们只会访问该网站一天/一周,然后该网站就关闭了。例如,在篮球比赛期间观众进入体育场的网站。
比赛结束后,管理员希望通过一个按钮重置比赛期间发送的所有数据。
现在我这样做了,但我不知道这是否是生产环境中的更好方法。
我创建了一个在构造函数中获取 KernelInterface 的服务:
首先,在生产环境中这样做好吗?(其他管理员在进行此操作时不会使用该网站)
其次,我对我用来检查操作是否成功完成的方法不是很满意(strpos($responseCreate, 'successfully') !== false
)。有人知道更好的方法吗?
非常感谢你的帮助
php - 如何在列中显示“choice()”的控制台提示?
在 Laravel 命令中,我正在寻找一种在多列中显示 52 个选项的方法,而不是一个需要滚动的长列表。
这可能吗?
这是我到目前为止的代码:
unit-testing - 如何在 symfony 3 控制台命令测试中设置控制台参数
在 Symfony 3.4 控制台命令应用程序中创建单元测试用例时,我无法设置参数
我的控制台命令
我的控制台代码
我尝试了以下测试代码
当我运行单元测试时,它显示以下错误消息
php - 在没有安装整个 symfony 的情况下在 Symfony 控制台程序上启用 Sentry
我有这个简单的控制台程序:
我像这样加载它:
我想在 Sentry 服务中记录上面抛出的异常。所以我的入口点是:
但是即使我设置了正确的环境变量,我也无法将错误记录到哨兵中。
该应用程序不加载完整的 Symfony 框架,而是只使用控制台组件,所以我不知道是否应该使用 Sentry Symfony 集成:https ://docs.sentry.io/platforms/php/symfony/
原因是因为我不知道如何在我的情况下加载包,因此我使用 SDK。
编辑1:
我还尝试捕获异常并手动记录它,但由于某些原因也没有记录: