52

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

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

ただし、Eclipseデバッグの観点では、「myprojectを起動する」「57%」「xdebugセッションを待機する」と表示されます。それは永遠にそこにあります。

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

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

何か案は?

4

26 に答える 26

63

私もこの問題を抱えていて、php.iniファイルに次の行がありませんでした:

xdebug.remote_enable = On
于 2010-10-12T08:45:15.250 に答える
14

:でABSOLUTEパスを使用してzend_extentionを定義したことを確認してください。php.ini

例えば: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設定を修正します。

EclipseのXDEBUG設定

于 2011-02-25T00:19:29.790 に答える
9

同じ問題が発生し、ポートを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は0行目のUnknownにZend拡張機能としてロードする必要あります

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

;extension=php_xmlrpc.dll
extension=php_xsl.dll
**;extension=php_xdebug-2.dll**
;/PHPExt
于 2011-05-11T12:06:27.960 に答える
6

3時間戦い、フォーラムですべての解決策を試した後、 php.inizend_extensionXdebug dllのパスを指定しながら、引用符を削除するのが簡単なトリックであることがわかりました。Windows VistaでXAMPP(PHP 5.3.6 + Apache 2.2)+ Eclipse Indigo + PDT +Xdebug2.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>環境設定>PHP>デバッグ>Xdebugのポートとも一致することを確認してください。また、php.iniを編集した後、apacheを再起動します。

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

于 2012-01-04T04:40:15.810 に答える
6

ZendStudioでも同じ問題が発生しました。xdebugセッションが正しく開始されていないことに気づきました。この文字列を一度URLに渡したところ、それ以降は機能しました。

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

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

于 2013-07-30T06:46:16.887 に答える
3

TCPポートが使用されていることに気づき、それがハングした理由でした。php.iniとEclipseの設定でポートを変更しました。

于 2010-05-27T12:06:58.070 に答える
2

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

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

私の場合、外部Webブラウザバイナリへのパスが正しくありませんでした。「/usr/ bin/firefox」の代わりに「/usr/ bin/mozilla」と表示されました。この設定がどのようにして行われたのかはわかりませんが、変更した後、ついにFirefoxブラウザウィンドウが表示されました。

于 2012-09-13T14:31:00.793 に答える
1

apacheログを調べたところ、ファイルが見つからないというエラーのある行が多数ありました。

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

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

Eclipseが正常に機能しなくなるようなミスが発生した場合、この「セッション待機」が発生するようです。

于 2014-07-27T10:01:17.560 に答える
1

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

xdebug.remote_connect_back=1

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

xdebug.remote_host=IP_ADDRESS
于 2015-10-14T14:58:02.340 に答える
1

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

一言で言えば、次の行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"

お役に立てれば

于 2017-03-01T08:13:17.120 に答える
0

Netweaver/Eclipseに接続できない場合は、次のようなものが発生していないかログXDebugを確認することをお勧めします。ApacheCannot 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

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

于 2012-06-02T04:36:40.100 に答える
0

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

phpinfoは、xdebug拡張機能が正常に読み込まれ、PHPまたはApacheログにエラーがないことを示しました。

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

于 2012-07-26T20:43:41.220 に答える
0

私の場合、CLIアプリケーションは正常に機能していましたが、57%でスタックしていたのはWebアプリケーションでした。

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

  1. サーバーデバッガーをXDebugにしました
  2. URLの自動生成true。
于 2012-08-01T11:21:13.580 に答える
0

ええ、ネットワーク/ポートの統計を確認してください。私の場合、Macでvmware Fusionを使用しており、プロセスvmware-natdがCPUを占有していました(私が想定している開いているポートでブロックしています)が、気づきませんでした。php.iniは完全に正常でした。これを実行して、再び機能させる必要がありました。

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

したがって、pplは最初にphp.ini(またはxdebug.ini)ファイルをチェックします。このディスカッションで問題がないように見える場合は、ネットワークの問題が発生していないことを確認してください。

于 2010-06-17T23:14:29.717 に答える
0

これがあなたにとってもう意味があるかどうかはわかりません!しかし、。のような正しいデバッグパラメータを持つPHPファイル (anything.php)にアクセスしましたか?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=12882809194391

多くの場合、デバッグパラメータを使用してHTMLファイルをヒットするのを間違えると、Eclipseがxdebugセッションでハングします。

于 2010-10-28T15:52:14.617 に答える
0

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

于 2011-07-18T01:33:37.027 に答える
0

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

于 2011-10-02T21:52:28.337 に答える
0

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

于 2011-10-19T21:02:38.110 に答える
0

誰にとっても便利ではないかもしれませんが...リモートホストをデバッグしようとするときは、常にDSLルーターを覚えておいてください。(または途中のルーター)Linksysでポートフォワーディング(ポート9000)をアクティブにするだけで、すべてが魅力のように機能することに気付いたとき、私は解決策を見つけるために何時間も費やしました:)

于 2011-11-06T22:36:27.383 に答える
0
  1. 上記の入力は役に立ちました。phpInfo()でxdebugパラメーター値を確認したところ、1またはOnに設定しているにもかかわらず、auto_traceとremote_enableがオフになっていることがわかりました。だから私はそれを真実にした。そして、リモートが機能しました!。ありがとう。
  2. さまざまなデバッグ構成を構成することにより、Eclipse内からリモートデバッグセッションを起動できるようになりました。または、そのような構成済みアプリケーションをEclipseの外部で起動するたびに、Eclipseでデバッグセッションを受け入れるかどうかの質問が表示されます。したがって、Eclipse UIとは異なるマシンを使用している場合、アプリケーションへの呼び出しが理由もなくタイムアウトになっていることに気付く場合があります。実際には、Eclipseセッションがどこにあっても、yes-noダイアログボックスが表示されます。
于 2012-04-28T14:01:00.120 に答える
0

日食を設定する前に、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

于 2014-02-21T08:10:39.077 に答える
0

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

ファイアウォールを介してJava(TM)PlatformSEバイナリを許可することでうまくいきました。

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

于 2014-12-14T22:04:43.077 に答える
0

私はこの投稿で考えられるすべての解決策を試し、Apache(httpポート8000​​)で実行されているサイトでxdebugを動作させました。次に、ポート80で実行していた別のサイトでxdebugが機能していることに誤って気付きました。他のサイトをポート80に変更するとすぐに、最終的にデバッグできるようになりました。

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

于 2015-09-08T00:28:43.497 に答える
0

構成に問題がない場合は、次のファイルを削除してください:YOUR_WORKSPACE / .metadata / .plugins / org.eclipse.core.resources / .root / .markers

于 2016-03-04T08:51:50.077 に答える
0

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を追加しました-接続せず、ブレークポイントもありません。

EclipseDialogProjectの上部に警告が見つかりました| プロパティ| 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デバッガーが機能します!

于 2016-11-09T21:08:12.013 に答える
-1

Here is another blog which mentions how to verify if Xdebug is properly installed or not via the command line http://allcodeverything.blogspot.com/2012/07/code-debugging-with-xdebug-and-eclipse.html

It mentions this If you want to figure out if everything worked well, here is a nice piece of code that you'll run through the CLI (command-line interpreter, basically outside of Apache or a browser; just pure PHP) after you have typed the following in your browser: "http://localhost/dbgtest.php?XDEBUG_SESSION_START=ceable"

<?php
$address = "localhost";
$xdebug_port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $xdebug_port) or die('Unable to bind');
socket_listen($sock);
$debug_client = socket_accept($sock);
echo "connection established: $debug_client";
socket_close($debug_client);
socket_close($sock);
?>

The command-line window should print something like "connection established: Resource id #5".

于 2012-12-06T19:12:21.217 に答える