php cli 模式中输入或包含中文可能会返回空或乱码,解决方法是在遇到中文的时候切换一下编码模式,示例代码如下:

sapi_windows_cp_set(936);
fwrite(STDOUT, 'Input:');
$str = fgets(STDIN));
sapi_windows_cp_set(65001);

更多信息请参考:https://www.php.net/manual/zh/migration71.windows-support.php