(Comments)
本番サーバ等、離れた環境にある PHP をリモートデバッグする場合。
開発用の PC は社内 LAN の中にあり、外からは直接アクセスできないとします。
その場合、SSH で逆向きのトンネルを作り、本番サーバ→ローカルPC と通信させます。
本番のPHPのxdebugの設定ファイル
例: /etc/php/5.6/apache2/conf.d/20-xdebug.ini
[xdebug]
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_port="9000"
xdebug.profiler_enable=0
xdebug.profiler_output_dir="/tmp"
xdebug.max_nesting_level=1000
xdebug.idekey = "PHPSTORM"
phpinfo() した時、Scan this dir for additional .ini files /etc/php/5.6/apache2/conf.d のような表示が出るのでそこから設定ファイルを探す
上記の設定の場合、デバッグ時 (URLのGET引数に ?XDEBUG_SESSION_START=12345 みたいに入ってる時) にローカルホストの 9000 ポートに接続するようになってます。
開発用ローカルPCで
$ ssh -R 127.0.0.1:9000:127.0.0.1:9000 user@example.com
として、本番サーバの9000 ポートをローカルの 9000ポートにトンネルします。
そして、PHPStorm でデバッグを実行すると、ブレイクポイントでブレイクしてデバッグできます。
サーバ設定のパスマッピングをちゃんと作成してないとブレイクしないのでご注意ください。
ちなみに、私はデプロイに Python の Fabric を使っているため、このようなコマンドでトンネルを作ります。
@runs_onceShare on Twitter Share on Facebook
def xdebug():
"""
xdebug用のSSHトンネルを作ります
"""
local('ssh -R 127.0.0.1:9000:127.0.0.1:9000 {}@{}'.format(env.user, env.hosts[0]))
apple developer の、テスト用デバイスのUDIDを1年ごとにチェックして、古い端末を消しちゃうやつ
チェックボックスを入れたのを残すのか、消すのかの判断まちがって、全部のUDID消えたわ
4 months, 1 week ago
うちの会社 TORICO の 代表が今TV出てます #漫画全巻ドットコム #激レアさんを連れてきた
4 months, 2 weeks ago
Proofpoint にブロックされているIPアドレスからでも icloud など Apple メールアドレスにメール送信されてもブロックされてない…?
5 months, 1 week ago
Comments