0

まず、Netbeans と XDebuug に関する別の投稿でインターネットを詰まらせたことをお詫びしますが、XDebug を Windows 7 から私の開発マシンにリモートで接続して動作させることを 2 週間試みた後、他に方法がありません。参考までに、私はこの問題について広範な調査を行いましたが、読むべき質の高い検索結果が不足しています。

要約すると、デバッガーをアタッチしようとすると、「127.0.0.1:9000 にアタッチしています\r\n接続が拒否されました。」というメッセージが表示されます。

詳細は、/etc/php5/apache2/xdebug.ini の下にある私の XDebug.ini ファイルです。

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so

xdebug.remote_enable = on

xdebug.remote_autostart = off
xdebug.remote_handler = dbgp
xdebug.remote_port = 9000
xdebug.remote_server = localhost
xdebug.remote_mode = req

xdebug.idekey = netbeans-xdebug
output_buffering = off

xdebug.remote_log = "/var/log/xdebug.log"

私のシステム仕様は次のとおりです。

私のノートパソコン:

  • ウィンドウズ7
  • ネットビーンズ 7.4
  • デバッグ ブラウザ: Chrome バージョン 30.0.1599.101 m

私のサーバー:

  • Linux デビアン Ubuntu 11.10
  • PHP 5.3.6-13ubuntu3.10
  • Zend Engine v2.3.0、Copyright (c) 1998-2011 Zend Technologies with Xdebug v2.2.3、Copyright (c) 2002-2013、by Derick Rethan [php_info() で動作確認済み]

接続しようとしている方法:

Stuporglues チュートリアルに従って、ポート 9000 で実行するように xdebug と netbeans を構成しました (xdebug.ini および netbeans->tools->options->php->debugging の下)。 (9000/127.0.0.1:9000)。

Linux サーバーがリッスンしていることがわかります。

james@XXX:/$ netstat -a -n | grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN
tcp6       0      0 ::1:9000                :::*                    LISTEN

ファイルをデバッグしようとすると、Netbeans がポート 9000 でリッスンしていることがわかります

netstat -aon
...
TCP    127.0.0.1:9000         127.0.0.1:59691        ESTABLISHED     6744

また、ブラウザー (chrome) は、アドレス バーのデバッグ パラメーターで正しく開きます。

https://xxxxx.xxx/xxxxx/dMotor1_2PropZ.php?XDEBUG_SESSION_START=netbeans-xdebug

しかし、Netbeans は「待機中の接続」でハングするだけです

試したこと:

  • 適用可能なすべてのファイアウォールを徹底的にチェックし、Windows にバンドルされているファイアウォールを無効にし、サーバー上の iptables と ip6tables を一掃しましたが、効果はありません。
  • これが問題を引き起こしている場合に備えて、httpsではなくhttpでプロジェクトを複製しようとしましたが、効果はありません
  • すべてのタイプの XDebug.ini 設定
  • project->properties->Run Configuration->Advanced->Debug Url で「open browser」を無効にし、XDEBUG_SESSION_START パラメータを正しく追加して Chrome でページを手動で開いても効果なし
  • project->properties->Run Configuration->Advanced->Debug Url の下で、project->properties->Run Configuration の下の index.php 設定で「ask every time」を選択しても効果なし
  • project->properties->Run Configuration の下で、次のように XDEBUG_SESSION_START 引数を手動で追加します: netbeans-xdebug、効果なし
  • コンピューターを再起動し、Apache を再起動し、リモート マシンを無限に再起動しても、効果はありません
  • 「クロムのサイレントデバッグモード」を有効にしても効果はありません
  • '--remote-debugging-port=9000' オプションを chromes スタートアップ ショートカットの実行パスに追加しても効果なし
  • PHPStormをインストールして、さらに効果があるかどうかを確認しますが、効果はありません
  • 別のブラウザーを使用 (Firefox と IE を試した)、効果なし
  • ウィザードを使用してバージョンが PHP リリースと互換性があることを確認した後、XDebug を再インストールしましたが、効果はありません
  • このヘルプの場合に index.php を作成しても、効果はありません
  • php.ini ファイルでタイムゾーンを設定しても効果なし

現在の理論:

接続拒否?接続をブロックしているものは本当にありますか? もしそうなら、どうすればそれを見つけることができますか?考えられることはすべて試しました。そうでなければ、これはまったく別の問題を隠しているデフォルトのエラー メッセージですか?

さらに詳しい情報:

正直なところ、ここで単純なことを見逃していて、深く掘り下げすぎて簡単に理解できなかった可能性があります.XDebugをリモートマシンで動作させようとしたのはこれが初めてで、Linux管理者とNetbeansの経験は限られています.

さらに奇妙なことに、オフィスで説明した構成で一度動作させた後、コンピューターをスタンバイにして家に帰りました。この時点で、デバッグを一度実行してから、設定を変更せずに、説明されている問題を実行することもできました。上記が始まりました。

XDebug ログ ファイルに「接続できませんでした」が含まれていますが、現在、新しいコンテンツは追加されていません。

どんな助けでも本当に感謝しています。

前もって感謝します、

ジェームズ

4

2 に答える 2

0

WINDOWSユーザーの皆様へ........

このテクノロジーは UNIX の世界に基づいており、/etc/hosts ファイルを使用して、localhost を含むすべてのホスト名を解決します。

したがって; Windows でも、 c:\windows\system32\drivers\etc にある「hosts」ファイルを探しています。

hosts ファイルを編集して、localhost または xdebug.remote_host にしたい任意のホストを追加します。

例えば

127.0.0.1 ロカホスト

192.168.0.101 abojmsi

これにより、この問題だけでなく、Apache に関するほとんどすべての問題が解決されます。

于 2013-10-31T12:52:47.720 に答える