Eclipse(3.5)/ php(xampp windows 7)でxdebugを動作させようとしています。 xdebugがphpで有効になっていることを確認しました-素晴らしい出力があり、私のphpinfoはすべてのxdebugのものを表示します。リモートデバッグをオンにして、EclipseマシンでLAN IPアドレスを入力しました。
Eclipseにデバッグを指示すると、ブラウザーが起動し、デバッグURLパラメーターが渡されます。それはOKです。
ただし、Eclipseデバッグパースペクティブでは、「myprojectの起動」57%「xdebugセッションを待機しています」と表示されます。それは永遠にそこに座っています。
両方のマシンでWindowsファイアウォールをオフにしました。
暗黙のフラッシュをオンにしてみました。
何か案は?
私もこの問題を抱えていたので、php.ini
ファイル:
xdebug.remote_enable = On
_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()
を使用して確認しますnetstat -an |find /i "listening"
_)_php.ini
_で使用する別のポートをセットアップする必要がある場合:
_xdebug.remote_enable = on
xdebug.remote_port = XXXX
_
eclipseのXdebug設定を修正します。
同じ問題があり、ポートを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
Zend Studioでも同じ問題が発生しました。 xdebugセッションが適切に開始されていないことに気付きました。この文字列をURLに1回渡すと、それ以降機能しました。
http://localhost/myalias/?XDEBUG_SESSION_START=Eclipse_DBGP&KEY=13750956767461
IDEのどこかの設定の問題だと確信しています。
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に追加すると、すべてがアイスクリームのように機能しました。
TCPポートが使用中であり、それがハングする理由です。php.iniとEclipseの設定でポートを変更しました。
EclipseのWebブラウザー設定が正しいことを確認してください。
ウィンドウ/設定/一般/ Webブラウザー/外部Webブラウザー/設定の編集
私の場合、外部Webブラウザーバイナリへのパスが間違っていました。 「/ usr/bin/firefox」ではなく「/ usr/bin/mozilla」と書かれていました。この設定がどのように発生したかはわかりませんが、変更後、Firefoxブラウザーウィンドウがようやく現れました。
私はまったく同じ問題を抱えていました。私の設定はあなたのものと同等で、xdebug.remote_enable = On
php.iniファイルに以下も追加:
xdebug.remote_connect_back=1
これにより、ホストIPを定義する代わりに、マルチホストリモートデバッグが可能になります。
xdebug.remote_Host=IP_ADDRESS
Apacheログを調べましたが、ファイルが見つからないというエラーのある行がたくさんありました。
実行->デバッグ構成-> PHP Webページ-> Your_configuration
auto generate
のチェックを外し、ファイル名をindex.php
に設定しました。
Eclipseが正常に機能するのを妨げる何らかの間違いがあった場合、この「セッション待ち」が発生するようです。
私にとって、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"
お役に立てれば
私は同様の問題を抱えていて、間違ったdllを使用していたことが判明しました。それが将来誰かを助けることを願っています。
このスレッドは、Eclipseを使用したOSX上のMAMPに関する問題を解決するのに役立ちました。 1.xリリースからMAMP 2.1.1にアップグレードした後、Eclipseでxdebugを動作させることができませんでした。 57%のレベルでぶら下がっていました。
phpinfoは、xdebug拡張モジュールが正常にロードされ、PHPまたはApacheログにエラーがないことを示しました。
ローカルでのみデバッグしたかったのですが、問題の原因はリモートデバッグが有効になっていないことでした。 xdebug.remote_enable = trueをMAMP PHP.iniテンプレートに追加し、MAMPを再起動すると問題が解決しました。
私の場合、CLIアプリケーションは正常に機能していましたが、57%で動けなくなるWebアプリケーションでした。
2つの変更後に機能しました:
Netweaver/Eclipse
がXDebug
への接続に失敗した場合、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
バイナリの正しいバージョンを選択します(動作するまでいくつかの組み合わせを試してください)
構成に問題がない場合は、ファイルYOUR_WORKSPACE/.metadata/.plugins/org.Eclipse.core.resources/.root/.markersを削除するだけです。
Apache(httpポート8000)で実行されているサイトでxdebugが機能しないように、この投稿で考えられるすべてのソリューションを試しました。その後、ポート80で実行していた別のサイトでxdebugが動作していることに誤って気付きました。他のサイトをポート80に変更するとすぐに、デバッグできました。
80以外のポートでxdebugを許可するようにApacheに指示できる設定があるのだろうか。Apacheで複数のサイトを実行しており、ポートを再構成せずにそれぞれをデバッグしたい。誰もこの問題を以前に抱えていましたか?またはそれを修正する方法を知っていますか?
このプログラムは、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を使用します。
これがあなたにとってもう意味があるかどうかはわかりません!しかし、PHPファイルにヒットしましたか(anything.php)正しいデバッグパラメーター、XDEBUG_SESSION_START=Eclipse_DBGP&KEY=12882809194391
。
人々はしばしばデバッグパラメータでHTMLファイルをヒットするミスを犯し、それによりEclipseがxdebugセッションでハングする原因になります
私にとって、これらの症状はWindowsファイアウォール(Win7 Pro)が原因でした。 Eclipseがファイアウォールを通過することを明示的に許可する必要がありました。 「コントロールパネル\すべてのコントロールパネルアイテム\ Windowsファイアウォール\許可されたプログラム」のダイアログを使用してこれを行いました。
同じ症状がありました。ただし、私の問題は、localhost
の必要性をなくすためにApache仮想ホストを使用しているため、xdebug.remote_Host = ""
を設定したことです。ただし、xdebug.remote_Host = "localhost"
に戻してから、Apache/etc/hpppd-vhosts.confを変更して、localhostがルートc:\ webを指すようにしました。
ええ、ネットワーク/ポートの統計を確認してください。私の場合、私はMacでvmwareフュージョンを使用しており、vmware-natdプロセスがCPUを占有していました(私が想定している開いているポートでブロックします)。 php.iniは完全に問題ありませんでした。再度動作させるには、これを実行する必要がありました。
Sudo "/Library/Application Support/VMware Fusion/boot.sh" --restart
そのため、最初にphp.ini(またはxdebug.ini)ファイルを確認してください。よろしければ この説明 で、ネットワークの問題がないことを確認してください。
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!
誰にとっても有用ではないかもしれませんが、...リモートホストをデバッグしようとするときは、常にDSLルーターを覚えておいてください! (または途中のルーター)ソリューションを見つけるのに何時間も費やしましたが、Linksysでポートフォワーディング(ポート9000)をアクティブ化するだけで、すべてが魅力的なものでした:)
私も同じ問題に遭遇しました。私はphpinfo()
の出力でphpのすべての設定を再確認しましたが、すべて問題ありませんでした。
この質問 のコマンドを確認してください。デバッグに非常に役立ちます!