2012-04-02 10 views
3

Ubuntu 10.04ラップトップでPHP 5.3.2、Apache 2.2.14、xdebug 2.2.0rc1を実行していますが、Netbeans 6.8のlocalhostでデバッグを設定しようとしています。XDebugがNetBeans 6.8からブレークポイントを無視するのはなぜですか?

私の問題は、Netbeansで設定したブレークポイントが無視されていることです。それ以外の場合は正しく動作するようです。たとえば、かなりvar_dumps、xdebugのトレース、xdebugのリモートログを取得し、PHPスクリプトの最初の行でブレークするようにボックスをチェックすることもできます。他のウェブサイトとSOの質問に基づいて

(例えばSO1SO2SO3)私は、次のすべてをチェックしました:

  • 私が編集していますphp.iniファイルは、その
  • を使用されていることxdebugの代替としてzend_extension = /フル/パス/に/ xdebug.so(ない拡張子= xdebug.so)としてロードされる
  • スレッドの安全性はPHPで無効になっていると私はXdebugを
  • の非スレッドセーフ版を使用しています
  • ことpブレークポイントにATH Xdebugのリモートログに正確である(このリストの以下のコードを参照して、図示していないその断片のパスなどが正しい)

    <- breakpoint_set -i 1014 -t line -s enabled -f file:///var/www/mockup/test.php -n 8 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="1014" state="enabled" id="135610002"></response> 
    
  • xdebug_breakするマニュアルコール()

仕事

Netbeansプロジェクトのプロパティでサーバーパスとプロジェクトパスを設定しようとしましたが、これは問題の可能性があると思われたが、役に立たなかったためです。現在、サーバーパスは/var/www/mockupであり、プロジェクトパスは/common/rsync/Dropbox/active-archives/code/Locus/mockupです。

は、長いパスへのシンボリックリンクなので、これが必要かどうかわかりません。

+1

offtopic:まだNetBeans 7.1にアップグレードしていないのはなぜですか?_ – c69

+0

@ c69 - Ubuntu 10.04ではデフォルトインストールされている可能性がありますか? – cfogelberg

答えて

1

Xdebug(PHP経由)はシンボリックリンクをまだサポートしていません(http://bugs.xdebug.org/view.php?id=627に問題があります)。

breakpoint_set -i 1014 -t line -s enabled -f file:///common/rsync/Dropbox/active-archives/code/Locus/mockup/test.php 

あなたがセットアップするパスマッピングを持っています:あなたは、NetBeansは以下のようにブレークポイントを設定を確認する必要がありますので、PHP/Xdebugのは、常に完全に拡張されたリンクを使用しています。 breakpoint_setに正しいパスが含まれていることを確認したら、それが動作するはずです。

+0

ありがとう@derick。私は昨晩の簡単なテストを実行し、プロジェクトを/ var/wwwに直接設定すると動作することを確認しました。しかし、私はまだそれを他の場所で動作させることができません - おそらく私はサーバーのパスマップが正しく設定されていますか? --- など。 xdebugのリモートログで、ファイルのエントリを取得しています:///common/rsync/Dropbox/active-archives/code/Locus/mockup/test.php、私は/ var/www/mockupにサーバーパスを設定しましたプロジェクトのパスは/ common/rsync/Dropbox/active-archives/code/Locus/mockupですが、まだブレークポイントをスキップしていますか?再度、感謝します! – cfogelberg

2

Derickの入力@上の建物です機能するソリューション:

  • 変更NetBeanプロジェクトのプロパティ/var/www/Locus
  • にソースフォルダからファイルをコピーするには、すべてのパスを削除するファイル名を指定して実行構成
  • ポイント私からマッピングしますブラウザでlocalhost/Locus/

つまり、問題を引き起こすのはソースファイルへのパスのシンボリックリンクだけではありませんが、シンボリックリンクsをサーバーパスに追加します。私はApacheのルートディレクトリ(/ソース/ MY_PROJECT)の外のディレクトリにマッピングされたバーチャルホストを設定していた私のMac上で私の地元のXAMPP環境で

:ここ

0

は、私はそれを固定する方法です。 Net Beansの私のプロジェクトは、プロジェクトの場所として/ source/my_projectを使用するように設定されていました。 Apache vhostで使用していたパスは、Net Beansで使用していたものとまったく変わらないので、URLマッピングの問題は「発生していません」でした。あるいは、おそらくApacheはNetBeansとは別のこのディレクトリを考えていました。私はパスマッピングを動作させることができませんでした。しかし、/ source/my_projectを/ apache/htdocs/my_projectに移動したときに、Net Beansのプロジェクトソースにそのパスを使用し、そのディレクトリに仮想ホストをマップしてから、デバッガが機能しました。 P.S.私はバージョンコントロールを/ source/my_projectに設定していたので、my_projectをシンボリックリンクに変更しましたが、それでもSubversionで動作しました。

関連する問題