亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 7.4 是否破壞了 fgets(STDIN)?

PHP 7.4 是否破壞了 fgets(STDIN)?

PHP
慕碼人2483693 2022-05-27 16:10:57
我剛剛在 Windows 上從 PHP 7.3.12 升級到 PHP 7.4.0(今天發布)。這一直有效到現在:<?php    $input = fgets(STDIN);    var_dump($input);它現在輸出:bool(false)它不再要求/允許輸入。它立即返回 bool false。我在更新日志或手冊頁中找不到任何關于 fgets 的最新更改的提及。怎么了?我應該做些什么?這是一個錯誤嗎?它是已知的嗎?有沒有其他人遇到過?另外,如果這是錯誤的(盡管工作了這么長時間,盡管我在網上找到了推薦的代碼),那么接受用戶輸入/等待輸入的“真實”方式是什么?我現在暫時降級回 7.3.12 來解決這個問題。
查看完整描述

1 回答

?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

確認我在 7.4 中遇到了相同的行為。我現在創建了一個笨拙的解決方法:


    ob_start();                                         // buffer so we don't see the output generated at DOS prompt

    $cmd_line='SET/P phpinput= & SET phpinput';         // Step 1: prompt user to enter a value for variable phpinput & Step 2: display the value for phpinput

    $result=system($cmd_line);                          // Execute

    $result=str_replace('phpinput=', '', $result);      // Clean up the returned result

    ob_end_clean();                                     // resume normal output

    echo "\nReturned result from user typing is: $result\n";


查看完整回答
反對 回復 2022-05-27
  • 1 回答
  • 0 關注
  • 80 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號