Amazon Linux(EC2)と PHPSTORM で Xdebug を行う


過去にも Xdebug の設定を何度も書いているので、今回も書きたいと思います。

■ 構成
PHPSTORM 2018.02
Amazon Linux2

今回つまづいたのは、ポートの部分です。
PHPSTORM + Xdebug の組み合わせでは、9000 ポートにてデバッグ情報をやり取りするのですが、何も考えずに行ったところうまくいかず。

php.ini の xdebug の設定も適切なはずだし、手元のVMとではうまく行けているのに。
唯一の違いとしては、AWS上のサーバーである、ということ。
AWSの設定をいろいろ見てみますが、Security Groupは9000開けてるし、インスタンスはFWないし、むー。

で、いろいろ調べていてわかりました。この9000の通信は、サーバー側から手元に対してRequestが投げられてくるということ。
つまり、手元のネットワークの 9000 が開いていないといけないということ。
こ、これは大変だー。

で、どうやって解決したかというと、SSHポートフォワーディングのリモートフォワード機能。
ssh -R 9000:localhost:9000 user@amazon-linux2
としてSSHをつないでいると、そのSSHのトンネルを通って9000ポートへパケットが流れてくるという。

これにて一件落着でした。

The following two tabs change content below.

いしかわ

まだまだ広く浅く勉強中のエンジニア。得意分野はラーメン。

Comments are closed.