FirePHPすべての.phpページにデバッグ関数呼び出しを追加するように求められます。
require_once('FirePHPCore/FirePHP.class.php');
ob_start();
私のローカルマシンでは問題ありません。しかし、私のコードが現実の世界で機能しているときに、それらを削除/無効にしたいです。
それらを無効にする「デバッグモード」変数またはそれらを削除するツールはありますか?
注:FirePHPインクルード呼び出しを削除しても、コードにFirePHPロギング呼び出しがある場合、致命的なエラーが発生します。
適切な解決策は、FirePHPCore0.3を無効にすることです。
$firephp->setEnabled(false);
詳細については、 APIリファレンスを参照してください。
アプリケーション/Webサイトのすべてのページ/スクリプトは、他のことを行う前に中央のブートストラップファイルを呼び出す必要があります。上記のコードは、このブートストラップファイルに含まれている必要があります。これにより、デプロイ時にアプリケーション全体でFirePHPを簡単に無効にできます。
bootstrap.php〜
ob_start();
require_once('FirePHPCore/FirePHP.class.php');
$firephp = FirePHP::getInstance(true);
// always disable FirePHP first - best practice
$firephp->setEnabled(false);
// only enable if in dev environment - best practice
if ($isDevMode) {
$firephp->setEnabled(true);
}
参考までに、 FirePHP 1.0を使用している場合、ログメッセージは、許可されたクライアントが検出された場合にのみ送信され、上記のコードは不要です。
定数を定義するだけです
define('IS_PRODUCTION', false);
後で使用します。
if (!IS_PRODUCTION) {
require_once('FirePHPCore/FirePHP.class.php');
...
}
cadornへのフォローアップ:
フレームワークでFirePHPがオプションのインストール(アドオン、プラグイン、..)である場合、誰かが最終的に無効化または完全にアンインストールする可能性がある場合は、またはを介してフレームワークコアでFirePHPクラスまたは関数の可用性を確認することを検討してください。手の届かないところにある場合は、代替機能を定義します。そうすることで、致命的な事態を回避し、最終的には「FirePHPは利用できません」のようなフィードバック/出力を提供できます。class_exists()function_exists()