2011-12-30 71 views
3

私は自分のローカルワンプのインストール(Uniform Server 8)でXDe​​bugを動かそうとしています。XDebugは本当に遅いです

しかし、私はxdebugのを使用するために私のIDEのために必要である私のphp.iniに
xdebug.remote_enable = 1

を入れたときに、ページのロードが遅くページあたり5秒のように本当に遅くなります。しかし、デバッガは動作します。

私は以前xdebugを使用していませんが、通常はこのように長い時間はかかりません。私はsymfony2フレームワークの使用と何か関係があるかもしれないと確信しています。

これを引き起こしているのは誰でも考えられますか?

+0

symfonyのプロファイラから、大きな減速が「ファイアウォール」イベントであることがわかりました。 – Ascherer

答えて

0

これはおそらくこれが原因です。

xdebugログ(ほとんどの場合/ tmp/xdebug/something) のデフォルトの格納場所を調べてください。これは、Windowsではunix/linuxシステムとは異なるものになります。あなたがそれらをどこか別の名前/置きたい場合

はあなたのphp.iniでこれらを設定します。

xdebug.profiler_output_dir タイプ:文字列、デフォルト値:/ tmpに プロファイラ出力が書き込まれるディレクトリPHPを実行するユーザにそのディレクトリへの書き込み権限があることを確認してください。この設定は、ini_set()でスクリプトに設定することはできません。

xdebug.profiler_output_name タイプ:文字列、デフォルト値:。cachegrind.out%pを

この設定は、にトレースをダンプするために使用されているファイルの名前を決定します。この設定では、sprintf()およびstrftime()に非常によく似た書式指定子で書式を指定します。ファイル名をフォーマットするために使用できるフォーマット指定子がいくつかあります。

これらのファイルを生成すると、システムに負荷がかかります。しかし、これらはあなたのコードをプロファイルするために必要なものです。

実際にもう一度使用する前にhttp://xdebug.org/docsも読むようにして、正確に何をしようとしているかを知ってください。

+0

xdebugがどのような目的で使用されているのかよく分かりますが、私はブレークポイントを設定できる私のコードをデバッグしてください。私はプロファイラを無効にしましたが、まだ遅いです。私の質問は、プロファイラを設定する方法ではなく、この遅さの原因となる可能性のあるものでした。 – geoffreydv

+0

プロファイラはリモートデバッガとは関係ありません。デバッガは物事を遅くしますが、このようにはなりません。 – Derick

+1

@geoffreydvデバッガ/プロファイラを使用する場合は、常にディスクに書き込んでいます。これがあなたのボトルネックです。あなたはそれを逃れることはできません。 – ktolis

関連する問題