localhostで長い間xdebugを使用していましたが、ポートフォワーディングを理解した後、リモートサーバーでデバッグする方法を学び、すべての開発者に役立つ命令を書くことにしました。最も重要なことは、それが機能することです。
IDEとして、PhpStorm、Chromeブラウザ、Ubuntu OSを使用しました。 ポート転送はWindowsでも問題なく機能します。
サーバー設定
sudo apt-get install php5-xdebug sudo nano /etc/php5/conf.d/xdebug.ini
xdebug.idekeyオプションは、IDEに応じて、PhpStorm1、netbeans-xdebug、XDEBUG_ECLIPSE、または空にすることができます。
zend_extension=/usr/lib/php5/20100525/xdebug.so xdebug.profiler_enable = 0 xdebug.remote_enable = 1 xdebug.remote_host = 127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.idekey=PhpStorm1
その結果、phpinfo()の出力にはxdebugに関する情報が含まれているはずです。

クライアント設定
Chrome Xdebugヘルパー
idekeyを使用する場合、Chromeの場合はXdebugヘルパーをインストールする必要があります。
拡張機能の設定では、IDEキーパラメータにPhpStorm1を指定し、ドメインフィルタにホストを入力する必要があります。 デバッグするときは、アドレスバーで[デバッグの有効化]をクリックする必要があります。

PhpStormを構成する
ファイル->設定-> xdebug。 ポート9000。デバッグ構成の編集パネル->新規構成の追加-> PHP Webアプリケーション
名前、開始URLを指定し、新しいサーバーを作成する必要があります。 サーバーで、名前、ホスト、ポート、パスマッピングを指定します。 すべて保存します。

これで、ブレークポイントを設定し、デバッグボタンをクリックして、IDEがポートのリッスンを開始できるようになりました。 ブラウザはサーバー+開始URLページで起動し、パラメータはセッション識別子を決定するXDEBUG_SESSION_STARTになります。 デバッグ中に紛失しないでください。
ポート転送
XdebugはIDEでリッスンしているポートをノックしています。 リモートサーバーをデバッグしてNATに座りたい場合、ポートは使用できません。 最適なオプションは、sshを使用してリモートポートをローカルポートにリダイレクトすることです。 Windowsで動作させるには、 Cygwinをsshパッケージとともにインストールする必要があります。
$ ssh -R 9000:127.0.0.1:9000 user@server
ポート転送チェック
リモートマシンの9000ポートで接続を確立する必要があります。 すべてが正しく行われると、実際にはローカルポートとの接続が確立されます。
成功した接続:
> telnet 127.0.0.1 9000 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.
telnetセッションを終了するホットキーは、Ctrl +]です。
考えられるエラー:
telnet: Unable to connect to remote host: Connection refused - . . Connection closed by foreign host - IDE