web-dev-qa-db-ja.com

eclipse xdebugセッションが完了しない

Eclipse(3.5)/ php(xampp windows 7)でxdebugを動作させようとしています。 xdebugがphpで有効になっていることを確認しました-素晴らしい出力があり、私のphpinfoはすべてのxdebugのものを表示します。リモートデバッグをオンにして、EclipseマシンでLAN IPアドレスを入力しました。

Eclipseにデバッグを指示すると、ブラウザーが起動し、デバッグURLパラメーターが渡されます。それはOKです。

ただし、Eclipseデバッグパースペクティブでは、「myprojectの起動」57%「xdebugセッションを待機しています」と表示されます。それは永遠にそこに座っています。

両方のマシンでWindowsファイアウォールをオフにしました。

暗黙のフラッシュをオンにしてみました。

何か案は?

52
Scott Szretter

私もこの問題を抱えていたので、php.iniファイル:

xdebug.remote_enable = On
62
Goran

_php.ini_で[〜#〜] absolute [〜#〜]パスでzend_extentionを定義したことを確認してください:

例:_zend_extension=D:\SANDBOX\server\php\php_xdebug-2.1.0-5.3-vc6.dll_

Windowsでローカルプロジェクトをデバッグしています。これまでのところ、_xdebug.remote_enable = On_は必要ありませんでした。

Xdebugセッションが開始されない(57%でハングする)場合の提案は、次のことを確認してください。

  • _zend_extention_ディレクティブは絶対パスで設定され、デバッグがロードされます。phpinfo()を使用して確認します
  • ファイアウォールは、デフォルトの9000ポートまたはEclipseをブロックしません。
  • 別のアプリケーションがポートを使用していない(実行:コマンドラインから_netstat -an |find /i "listening"_)

_php.ini_で使用する別のポートをセットアップする必要がある場合:

_xdebug.remote_enable = on
xdebug.remote_port = XXXX 
_

eclipseのXdebug設定を修正します。

XDEBUG settings in Eclipse

14
uicoded

同じ問題があり、ポートをXDebugに変更することで修正しました(現在はポート9001を使用しています)。

Php.iniのコンテンツは次のとおりです。

zend_extension ="C:\...\EasyPHP-5.3.3\php\ext\php_xdebug-2.dll"
xdebug.remote_enable=1
xdebug.remote_Host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.remote_mode=req
xdebug.remote_autostart=0

また、Apacheログファイルを確認し、次の警告メッセージがないことを確認します。

PHP警告:Xdebugは、0行目のUnknownでZend拡張としてロードする必要があります
警告:Xdebugは、Zend拡張としてロードする必要があります わからない オンラインで 

その場合は、php.iniファイルを開き、「;」でコメントしますextension=php_xdebug-2.dll行:

;extension=php_xmlrpc.dll
extension=php_xsl.dll
**;extension=php_xdebug-2.dll**
;/PHPExt
9
marco

Zend Studioでも同じ問題が発生しました。 xdebugセッションが適切に開始されていないことに気付きました。この文字列をURLに1回渡すと、それ以降機能しました。

http://localhost/myalias/?XDEBUG_SESSION_START=Eclipse_DBGP&KEY=13750956767461

IDEのどこかの設定の問題だと確信しています。

6
Artur Kędzior

3時間戦い、フォーラムですべてのソリューションを試した後、単純なトリックはXdebug dllのパス in zend_extension inを指定しながら引用符を削除することであることがわかりました。 php.ini。 Windows VistaでXAMPP(PHP 5.3.6 + Apache 2.2)+ Eclipse Indigo + PDT + Xdebug 2.1.2を使用しています。

ここに私のために働いた正確な構成があります-

zend_extension=C:\xampp\php\ext\php_xdebug-2.1.2-5.3-vc6.dll
#Note that the path above is not in quotes
xdebug.remote_enable=true
xdebug.remote_Host=localhost
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir=C:\xampp\tmp

別のプログラムで既に使用されている場合に9000と衝突しないように、ポート9001を使用しました。これがEclipse> Preferences> PHP> Debug> Xdebugのポートと一致することを確認してください。また、php.iniを編集した後にApacheを再起動してください。

これをphp.iniに追加すると、すべてがアイスクリームのように機能しました。

6
cloudwhale

このリンクを確認してください:

http://xdebug.org/docs/remote

chromeおよびfirefoxの新しいプラグインに関するセッションが1つあり、正常に動作します。

3

TCPポートが使用中であり、それがハングする理由です。php.iniとEclipseの設定でポートを変更しました。

3

EclipseのWebブラウザー設定が正しいことを確認してください。

ウィンドウ/設定/一般/ Webブラウザー/外部Webブラウザー/設定の編集

私の場合、外部Webブラウザーバイナリへのパスが間違っていました。 「/ usr/bin/firefox」ではなく「/ usr/bin/mozilla」と書かれていました。この設定がどのように発生したかはわかりませんが、変更後、Firefoxブラウザーウィンドウがようやく現れました。

2
knb

私はまったく同じ問題を抱えていました。私の設定はあなたのものと同等で、xdebug.remote_enable = Onphp.iniファイルに以下も追加:

xdebug.remote_connect_back=1

これにより、ホストIPを定義する代わりに、マルチホストリモートデバッグが可能になります。

xdebug.remote_Host=IP_ADDRESS
1
Ryan Litwiller

Apacheログを調べましたが、ファイルが見つからないというエラーのある行がたくさんありました。

実行->デバッグ構成-> PHP Webページ-> Your_configuration

auto generateのチェックを外し、ファイル名をindex.phpに設定しました。

Eclipseが正常に機能するのを妨げる何らかの間違いがあった場合、この「セッション待ち」が発生するようです。

1
Mir

私にとって、C:\ wamp64\bin\Apache\apache2.4.23\binのパスに保存されているphp.iniファイルに、他の人が提案した[xdebug]構成を追加すると役立ちました。基本的には、wamp64とともにインストールされる各phpバージョンフォルダーの下のphpForApache.iniファイルを指す/リンクするシンボリックリンクです。 php5.6.25。

一言で言えば、次の行を追加しますphpForApache.ini助けて-

    zend_extension = c:\wamp64\bin\php\php5.6.25\ext\php_xdebug-2.5.1-5.6-vc11-x86_64.dll
    xdebug.remote_enable=On
    xdebug.remote_Host="localhost"
    xdebug.remote_port=9000
    xdebug.remote_handler="dbgp"

お役に立てれば

1
Sameer Awate

私は同様の問題を抱えていて、間違ったdllを使用していたことが判明しました。それが将来誰かを助けることを願っています。

0
Scott Warren

このスレッドは、Eclipseを使用したOSX上のMAMPに関する問題を解決するのに役立ちました。 1.xリリースからMAMP 2.1.1にアップグレードした後、Eclipseでxdebugを動作させることができませんでした。 57%のレベルでぶら下がっていました。

phpinfoは、xdebug拡張モジュールが正常にロードされ、PHPまたはApacheログにエラーがないことを示しました。

ローカルでのみデバッグしたかったのですが、問題の原因はリモートデバッグが有効になっていないことでした。 xdebug.remote_enable = trueをMAMP PHP.iniテンプレートに追加し、MAMPを再起動すると問題が解決しました。

0
blainelang
  1. 上記の入力は役に立ちました。 phpInfo()でxdebugパラメーターの値を確認したところ、1またはOnに設定したにもかかわらず、auto_traceとremote_enableがオフになっていることがわかりました。それでtrueにした。そして、リモートが働いた!。ありがとう。
  2. さまざまなデバッグ構成を構成することにより、Eclipse内からリモートデバッグセッションを起動できるようになりました。または、Eclipseの外部でこのような構成されたアプリケーションを起動すると、Eclipseでデバッグセッションを受け入れるかどうかの質問が表示されます。そのため、Eclipse UIとは異なるマシンを使用している場合、アプリケーションの呼び出しが理由もなくタイムアウトになることがあります。実際には、Eclipseセッションがどこにあってもyes-noダイアログボックスがあります。
0
nitish

私の場合、CLIアプリケーションは正常に機能していましたが、57%で動けなくなるWebアプリケーションでした。

2つの変更後に機能しました:

  1. xDebugとしてサーバーデバッガーを作成
  2. 自動生成URL true。
0
Nitin Agarwal

Netweaver/EclipseXDebugへの接続に失敗した場合、Cannot load Xdebug - it was built with configuration API220090626,TS,VC6, whereas running engine is API220090626,TS,VC9 [Fri Jun 01 18:38:05 2012] [notice] Child 3404: Child process is runningのようなものの発生についてApacheログを確認することができます。

これを解決するには、XDebug WebサイトからXDebugバイナリの正しいバージョンを選択します(動作するまでいくつかの組み合わせを試してください)

0
norootsquash

構成に問題がない場合は、ファイルYOUR_WORKSPACE/.metadata/.plugins/org.Eclipse.core.resources/.root/.markersを削除するだけです。

0
Ripper

Apache(httpポート8000​​)で実行されているサイトでxdebugが機能しないように、この投稿で考えられるすべてのソリューションを試しました。その後、ポート80で実行していた別のサイトでxdebugが動作していることに誤って気付きました。他のサイトをポート80に変更するとすぐに、デバッグできました。

80以外のポートでxdebugを許可するようにApacheに指示できる設定があるのだろうか。Apacheで複数のサイトを実行しており、ポートを再構成せずにそれぞれをデバッグしたい。誰もこの問題を以前に抱えていましたか?またはそれを修正する方法を知っていますか?

0
MaxRelax

Eclipseを設定する前に、phpinfo関数で次のコンテンツが表示されることを確認してください。

このプログラムは、Zend Scripting Language Engine:Zend Engine v2.4.0、Copyright(c)1998-2013 Zend Technologies with Xdebug v2.2.3、Copyright(c)2002-2013、by Derick Rethansを使用します。

0
user3336280

これがあなたにとってもう意味があるかどうかはわかりません!しかし、PHPファイルにヒットしましたか(anything.php)正しいデバッグパラメーター、XDEBUG_SESSION_START=Eclipse_DBGP&KEY=12882809194391

人々はしばしばデバッグパラメータでHTMLファイルをヒットするミスを犯し、それによりEclipseがxdebugセッションでハングする原因になります

0
Abdul Munim

私にとって、これらの症状はWindowsファイアウォール(Win7 Pro)が原因でした。 Eclipseがファイアウォールを通過することを明示的に許可する必要がありました。 「コントロールパネル\すべてのコントロールパネルアイテム\ Windowsファイアウォール\許可されたプログラム」のダイアログを使用してこれを行いました。

0
Seth Battin

同じ症状がありました。ただし、私の問題は、localhostの必要性をなくすためにApache仮想ホストを使用しているため、xdebug.remote_Host = ""を設定したことです。ただし、xdebug.remote_Host = "localhost"に戻してから、Apache/etc/hpppd-vhosts.confを変更して、localhostがルートc:\ webを指すようにしました。

0

ええ、ネットワーク/ポートの統計を確認してください。私の場合、私はMacでvmwareフュージョンを使用しており、vmware-natdプロセスがCPUを占有していました(私が想定している開いているポートでブロックします)。 php.iniは完全に問題ありませんでした。再度動作させるには、これを実行する必要がありました。

Sudo "/Library/Application Support/VMware Fusion/boot.sh" --restart

そのため、最初にphp.ini(またはxdebug.ini)ファイルを確認してください。よろしければ この説明 で、ネットワークの問題がないことを確認してください。

0
lefnire

Uniserver Zero XIII 13.2.0(MS VC12再配布可能インストールが必要)とEclipse Neon Release Candidate 3(4.6.ORC3)を使用して同じ問題が発生しました。私たちのウェブサイトはphalconを使用していますが、phalcon.dllとphp7.0の問題を発見したとき、php5.6に戻りました。上記のxdebug設定を確認し、zend_extension = $(US_ROOTF)/php56/extensions/php_xdebug.dllを追加しました。接続できず、ブレークポイントはありません。

Eclipse Dialog Projectの上部に警告が見つかりました|プロパティ| PHP |デバッグ|ワークスペース設定の構成... | PHP実行可能ファイル| PHP56(ワークスペースのデフォルト)|編集|デバッガー| "XDebug拡張機能がインストールされていません。 http://xdebug.org ... "にアクセスしてください。これにより、Uniserver 13.2.0 php56のphp_xdebug.dll(2.5.0)のバージョンが疑われました。php_xdebug-2.4をダウンロードしました.1-vc11.dll、/ php56/extensionsおよびPRESTOにドロップしました!Eclipse PHP Debugger works!

0
jthompson

誰にとっても有用ではないかもしれませんが、...リモートホストをデバッグしようとするときは、常にDSLルーターを覚えておいてください! (または途中のルーター)ソリューションを見つけるのに何時間も費やしましたが、Linksysでポートフォワーディング(ポート9000)をアクティブ化するだけで、すべてが魅力的なものでした:)

0
Duccio

私も同じ問題に遭遇しました。私はphpinfo()の出力でphpのすべての設定を再確認しましたが、すべて問題ありませんでした。

ファイアウォールを介してJava(TM)Platform SEバイナリを許可することは、トリックを行いました。

この質問 のコマンドを確認してください。デバッグに非常に役立ちます!

0
Daniel Iancu