2017-08-18 4 views
1

firebugがfirePHPで動作しなくなったため、サーバー側のデバッグ用にFirefox開発ツールを切り替えようとしています。 FirePHPようfirefoxデベロッパーツールを使用してPHPからのサーバー側のメッセージを記録する方法

Firebugの拡張子は、Firebugのコンソールを するために、サーバー側のメッセージを記録することができます:

は、私がこの情報を見つけたドキュメントをチェック。この機能は既にChromeLoggerプロトコルを使用して DevToolsに統合されており、 拡張機能をインストールする必要はありません。

ChromeでテストしたPHPスクリプトにChromeロガーを統合し、正常に機能していることを確認しました。 Firefox Dev Toolsでは、コンソールに何も表示されません。 X-ChromeLogger-Dataのヘッダーを確認しました。エンコードされたデータは正常に渡されます。

解決策はありますか? Firefoxのデベロッパー版56.0b3とChromePhp 4.1.0(クロームロガーPHPスクリプト)でテスト

developer.mozilla.org/en-US/docs/Tools/Web_Console/Console_messages#Server参考

EDIT:奇妙なことがあります。そこ2つの異なる開発者ツール、一つはF12で開き、そこには、サーバーのタブがありませんし、他はツール]> [Web開発者メニューから開く

サーバタブは

スクリーンショットはここにあるクロムロガーについて何も表示されません:

2017年のよう

Server option enabled

Two different Tool Boxes

+0

がありますか?コンソールの下にある他のタブ "net、css、js ..."と同じ色にする必要があります。 – cmorrissey

+0

FirePHPの恋人として、私はFirefoxのサーバーログ機能に非常に失望しました。それは文字列に複数の行を表示せず、FirePHPと同様に他のデータもほとんど表示しません。だから私がしたことは(Ubuntu Linux用)FireFoxの第2版(バージョン48)をインストールすることでした。今でもFirePHPは使えます。私はあなたがそれを行うことができます複数のFireFoxをインストールしたいと思うが、それ自体を更新しないように指示し、約ページを見てください。 –

+0

@ cmorrissey編集したサーバータブの記事をご覧ください。 – PHJAV

答えて

1

、放火犯ので、firephpが無効になっています。

私はfirephpからchromephpへのシームレスな移行を可能にするためにchromephpツールに少し修正を加えました。

この記事は、記事の内容に加えて、あなたはChromeブラウザに切り替える必要がないので、あなたはまた、サーバを経由してログを表示することができます明確なステップで簡単

https://medium.com/@kudehinbuoluwaponle/migrate-from-firephp-to-chromephp-in-5-minutes-without-breaking-existing-code-e4afd1b28c5c

に説明しますタブFirefoxのWebコンソールのタブ

+1

良い仕事と良い記事Kudehinbu。このトリックは、QuantumPHPクラスをオブジェクトコンテキストにリファクタリングすることにあるようです。私はこれを__destruct()メソッドの恩恵を受けるために行い、 - > send()を "無料で"発行し、各PHPページの最後に自動的に発行します。 –

1

Firefox 57、Firefox Quantumとは、ChromePhpのサーバーログが機能しなくなったようです。

QuantumPHPは代替品です。このツールを使用すると、サーバーログとJavaScriptログの両方が「コンソール」の下に表示されます。

https://github.com/frankforte/quantumphp

0
Kudehinbuの仕事にさらに

、そして私自身の仕事、私は。私は、FirePHPとは違って、FirePHPとは違って、クライアント側のレンダリングが、オブジェクトが一部である場合には、[オブジェクトオブジェクト]を経由しないことを追加しています。https://github.com/frankforte/quantumphpinfo()warn()またはerror()メソッドへの引数。あなたはますprint_r()またはでvar_exportを使用して$ argsをを変換したい場合があり

FirePHPがやったように、徹底的にオブジェクトを開発するために、()、どちらかQuantumPHPクラスの出力メソッドの呼び出しの前に、またはクラス自体の中のプライベート/保護されたトランスフォーマーとして優れています。

protected function resolveObjectArgs(array &$args) 
{ 
    array_walk($args, function(&$value, $key) { 
     if (is_array($value)) { 
      $value = print_r($value, true); 
     } 
     else if(is_object($value)) { 
      $value = var_export($value, true); 
     } 
     else return; 
    }); 
} 

は、このように、出力メソッド内で、この変圧器を呼び出す:

public function info() 
{ 
    $args = func_get_args(); 
    $this->resolveObjectArgs($args); // <== this is the line to add to the existing code 
    return $this->_log(self::INFO, $args); 
} 

なお、私のリファクタリング以下、情報()私が決めたことからは、今公共とこれ以上のpublic staticですオブジェクトコンテキストを使用します。

最後に、公共コンテキストを活用して、あなたはデストラクタを追加することもできます。

public function __destruct() 
{ 
    $this->send(); 
} 

は、このように明示的に体系QuantumPHPメソッドにPHPスクリプトの最後の呼び出しの後にsendメソッドを呼び出してからセーブ。クライアント側の使用の

例:サーバー]タブをクリック

$QPHP = QuantumPHP::getInstance(); 
$Obj = new MyOwnObject(); 
$QPHP->info($Obj); // will eventually output a detailed structure of your object 

// send() gets called magically at the end of the page! 
関連する問題