首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

FirePHP 調試指南:讓 PHP 變量直接顯示在 Firebug 控制台

     編輯:PHP 相關知識

什麼是 FirePHP?

FirePHP 是 Firebug 的擴展插件,配合服務端庫 FirePHPCore,讓 PHP 腳本通過 HTTP 響應頭將調試信息發送到瀏覽器,直接在 Firebug 控制台顯示,不干擾頁面輸出。

安裝步驟

  1. 安裝 Firefox 瀏覽器。
  2. 安裝 Firebug 擴展(Firefox 內建開發者工具已整合大部分功能,Firebug 已停止維護,建議改用 Firefox 開發者工具 + FirePHP 4 Firefox)。
  3. 安裝 FirePHP 瀏覽器插件。
  4. 下載服務端庫 FirePHPCore,解壓後只需 lib/FirePHPCore/fb.php 和 FirePHP.class.php(PHP 5+)。

快速開始

<?php
require_once 'path/to/FirePHPCore/fb.php';

// 簡單記錄變量
$arr = [1, 2, 'hello world', [1]];
fb($arr);                    // 輸出到 Console
fb($arr, '標籤標識');         // 帶標籤輸出

// 不同級別
fb('普通日誌', 'Log', FirePHP::LOG);
fb('資訊', 'Info', FirePHP::INFO);
fb('警告', 'Warn', FirePHP::WARN);
fb('錯誤', 'Error', FirePHP::ERROR);
fb('異常', 'Exception', FirePHP::EXCEPTION);
fb(['table' => true, 'data' => $data], 'Table', FirePHP::TABLE);

原理解析

  • **請求頭檢測**:FirePHPCore 通過 User-Agent 中的 FirePHP/版本 或 X-FirePHP-Version 頭判斷客戶端是否啟用 FirePHP。
  • **響應頭傳輸**:調試數據以 JSON 格式編碼,放入自定義響應頭 X-Wf-1-1-1-1、X-Wf-1-Structure-1 等(Wildfire 協議)。
  • **不影響頁面**:數據僅在頭部傳輸,頁面 HTML 完全不變。

網絡面板查看原始頭

X-Wf-1-1-1-1: 142|[{"Type":"LOG","File":".../test.php","Line":"8"},["1","2","hello world",["1"]]]|
X-Wf-1-1-1-2: 158|[{"Type":"LOG","Label":"標籤","File":".../test.php","Line":"9"},["1","2","hello world",["1"]]]|
X-Wf-1-Index: 2
X-Wf-1-Plugin-1: https://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3
X-Wf-1-Structure-1: https://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1
X-Wf-Protocol-1: https://meta.wildfirehq.org/Protocol/JsonStream/0.2

進階用法

組態選項

$firephp = FirePHP::getInstance(true);
$firephp->setEnabled(true);           // 強制啟用
$firephp->setMaxObjectDepth(5);       // 物件最大遞歸深度
$firephp->setMaxArrayDepth(10);       // 陣列最大深度
$firephp->setMaxDepth(15);            // 綜合最大深度
$firephp->setIncludeLineNumbers(true); // 顯示行號

分組與表格

fb::group('用戶登錄流程');
fb($userData, '用戶數據');
fb::groupEnd();

fb($gridData, '用戶列表', FirePHP::TABLE);

現代替代方案

Firebug/FirePHP 已停止維護,現代開發建議使用:

  • PHP 內建:var_dump() + error_log() + xdebug 遠程調試(IDE 斷點、變量檢查、堆疊追蹤)。
  • Monolog + 日誌聚合:結構化日誌寫入文件/ELK/Loki,配合 Kibana/Grafana 查詢。
  • 瀏覽器擴展:PHP Console (Chrome)、PHP Debug Bar。
  • 框架內建:Laravel Telescope、Symfony Profiler、Yii Debug Toolbar。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved