我刚刚在 Windows 上从 PHP 7.3.12 升级到 PHP 7.4.0(今天发布)。
这一直有效到现在:
<?php
$input = fgets(STDIN);
var_dump($input);
它现在输出:
bool(false)
它不再要求/允许输入。它立即返回 bool false。
我在更新日志或手册页中找不到任何关于 fgets 的最新更改的提及。
怎么了?我应该做些什么?这是一个错误吗?它是已知的吗?有没有其他人遇到过?
另外,如果这是错误的(尽管工作了这么长时间,尽管我在网上找到了推荐的代码),那么接受用户输入/等待输入的“真实”方式是什么?
我现在暂时降级回 7.3.12 来解决这个问题。
编辑:终于有人为此提交了错误报告。我当然希望它不会被忽略,就像许多 FOSS 项目中经常出现的情况一样:https ://bugs.php.net/bug.php?id=78883