5

我有一个本地设置,用于在 3 台不同的 Windows 10 PC 上在 Symfony 5.0 上进行开发,当 PHP 版本为 7.3 时它们都没有问题,而当它是 7.4 时它们都有同样的问题。

它发生在任何需要用户输入的执行上,例如: * php bin/console make:entity * php bin/console doctrine:migrations:migrate

其他php bin/console make:migration不需要用户输入的命令可以正常工作,所以看起来等待输入是问题所在。

在非交互模式下运行它们适用于是/否,但对于很多人来说是不可能的,比如make:entity

这是终端的输出:

PS C:\path\project> php bin/console make:entity

 Class name of the entity to create or update (e.g. VictoriousPuppy):
 >

  Aborted.  


make:entity [-a|--api-resource] [--regenerate] [--overwrite] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command> [<name>]

PS C:\path\project>

中止立即发生,无需等待输入。我安装了 7.3 和 7.4 版本,切换到 7.3 可以正常工作,所以我查看了这两个php.ini文件,没有发现任何问题。我直接从 php.net 站点https://www.php.net/downloads.php上的 Windows 下载链接安装了它们

我的 PHP 版本已安装C:\php\7.3C:\php\7.4切换它们,我只需更改 Windows 环境变量中的 PATH 即可。php -v如果我重新打开终端,则会生成正确的版本。

在 MacOS 上运行的团队成员对 7.4 没有问题,Ubuntu 18.04 登台服务器也没有问题,所以它一定是我的 Windows 安装所特有的。

4

1 回答 1

6

这是适用于 Windows 的 PHP 7.4.0 的一个错误。

该错误已在此处注册,并已在昨天 12 月 18 日发布的 7.4.1 版本中修复。

只需下载最新的 PHP 版本,就可以了。

于 2019-12-19T07:19:27.497 回答