PHP內建Web Server探究(二)自訂PHP控制台輸出console函數,webconsole_PHP教程

來源:互聯網
上載者:User

PHP內建Web Server探究(二)自訂PHP控制台輸出console函數,webconsole


我們在開發APP的伺服器端,當和APP進行聯調時通常需要即時跟蹤URL請求和參數的接收情況。

但PHP並沒有像Python或Java專有的控制台輸出函數,Python的print()和Java的System.out.println(),PHP的echo,print等函數在直接使用php -f index.php時,可以列印以shell螢幕上,但在cli_server運行時並不能滿足把調試資訊只列印在shell而不顯示在瀏覽器。

用度娘搜了好久,網上對PHP內建server cli模式的資料少之又少,根本找不到一點有用的資訊。

通過查閱PHP官方文檔,最後想到PHP的標準輸出資料流STDOUT

  php://output 是一個唯寫的資料流, 允許你以 print 和 echo 一樣的方式 寫入到輸出緩衝區

當在cli模式下運行時,只要向STDOUT寫入資料時,並不需要echo 或 print 就會立即 列印 到 SHELL用戶端:

於是,我們可以編寫一個自訂函數來封裝對sdtout標準輸出資料流的資料的入,相當於隨時把想要顯示的調度資訊列印到shell:

1 /*2 * cli模式或者內建server列印調試資訊,而不在瀏覽器輸出3 * param fixed $data    參數可以是除了對象以外的所有資料類型,比如:字串,數組,jason等4 */5 function console($data){6      $stdout = fopen('php://stdout', 'w');7      fwrite($stdout,json_encode($data)."\n");   //為了列印出來的格式更加清晰,把所有資料都格式化成Json字串8      fclose($stdout);9 }

當需要在內建Server每一個請求後,列印當前的調試資訊時:直接調用console()即可

比如:

  列印所有接收到的GET或POST參數:

  console($_GET);

  console($_POST);

  

  列印字串:

  console("hello php console debug");

  

以後再也不用羨慕Python和Java的控制台輸出,PHP從此也有控制台輸出函數了

http://www.bkjia.com/PHPjc/1102848.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1102848.htmlTechArticlePHP內建Web Server探究(二)自訂PHP控制台輸出console函數,webconsole 我們在開發APP的伺服器端,當和APP進行聯調時通常需要即時跟蹤URL請求和...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.