11


1

PHPでのXDebugプロファイリング-出力を取得できません

奇妙な問題があります。 XDebugをセットアップして、作業中のPHPアプリケーションのプロファイルを作成しました。 すべてが正しくセットアップされていると思いますが、実行しても何も出力されません。 私の設定はこのようになります:

zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so
[XDebug]
xdebug.profiler_append = 1
xdebug.profiler_enable = 0 (I've tried this both on and off)
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/debug/xdebug/profiler_output_dir"
xdebug.profiler_output_name = "cachegrind.out.%p"

すべての `phpinfo()`設定は、必要なように一致します。 出力ディレクトリのアクセス許可は、私がテストできるように、現在777に設定されています。 public_htmlの下のディレクトリも使用しようとしましたが、うまくいきません。 プロファイラーを起動するために使用しているURLは次のとおりです。

http://example.com/my_page.php?XDEBUG_PROFILE
-or-
http://example.com/my_page.php?XDEBUG_PROFILE=1

どちらも動作しません。 どんな助けも大歓迎です! このアプリには5〜6秒のページ読み込み時間があり、コードを介してトレースすることができませんでした。

5 Answer


12


一部のディストリビューションの/ tmpフォルダーにも問題があり、centos 7で出力を取得できず、https://bbs.archlinux.org/viewtopic.php?id = 173456 [this]が見つかりました。

だから、私は設定しました

_ xdebug.profiler_output_dir = / home / jirka / profile _

今すぐ777を設定します。


10


xdebug.profiler_output_dir`と xdebug.profiler_output_name`をコメントアウトし、 `/ tmp /`の下に出力があるかどうかを確認します。


6


この問題の別の考えられる原因は、profiler_output_dirフォルダーのアクセス許可です。

グループと所有者に書き込み権限を追加すると、問題が解決しました:

sudo chmod go+w /home/dimitris/cachegrind/


1


また、アクセス権、グループ、所有者、SElinuxなどのアクセス制限に注意してください…​


1


パスだけでなく、フルパスが必要でした。

xdebug.profiler_append=1
xdebug.profiler_output_dir ="/home/username/debug/xdebug/profiler_output_dir"
xdebug.profiler_output_name = "cachegrind.out.%s.%H"