为什么 Windows 上的 PHP 8.1 会中止所有需要用户输入的命令行操作?

问题描述 投票:0回答:1

我正在 Windows 11 PC 上使用 Symfony 6.1 开发一个项目。该项目位于 docker 容器中。

问题发生在任何需要用户输入的执行上,例如: php bin/console make:entity 因此,我什至无法修改课程或选择我的偏好。

其他命令(例如 php bin/console make:migration 不需要用户输入)工作正常,因此等待输入似乎是问题所在。

我的数据库已被识别,我可以使用以下命令创建一个用户: php bin/console make:user 但由于输入不起作用,该过程无法完成。

这是终端的输出:

docker exec -w /var/www/project www_project php bin/console make:entity

要创建或更新的实体的类名称(例如 GrumpyPuppy):

已中止。

make:entity [-a|--api-resource] [-b|--broadcast] [--regenerate] [--overwrite] [--] []

我用 PHP 8.2 尝试过,也不起作用。好像和PHP版本没有关系。

有人知道问题出在哪里吗?

symfony command php-8 symfony6 php-8.1
1个回答
0
投票

从 docker 容器使用时,Symfony 的maker-bundle 似乎无法完全工作。我必须在我的机器上下载 PHP 8.1 并修改环境变量 PATH 来添加它。 然后,代替: docker exec -w /var/www/project www_project php bin/console make:entity 我进入 symfony 项目并执行了常用命令: php bin/console make:entity

现在终端接受用户输入。

© www.soinside.com 2019 - 2024. All rights reserved.