揮発性のメモ2

http://d.hatena.ne.jp/iww/

ブラウザで見ているPHPプログラムをデバッグする。

Debian 9.5 stretch
apache 2.4.25
PHP 7.0
XDEBUG 2.5

サーバ側準備

XDEBUGモジュールをインストール

apt install php-xdebug

XDEBUG設定ファイルを編集

; /etc/php/7.0/mods-available/xdebug.ini
; モジュールロード指定
zend_extension=xdebug.so

; リモートデバッグの有効化  0:無効, 1:有効
xdebug.remote_enable = 1
; サーバからクライアントに接続(2.1以降から使える)  0:無効, 1:有効
xdebug.remote_connect_back = 1

; 接続ポート番号
xdebug.remote_port = 9001
; デバッグ開始の合言葉
xdebug.idekey = "PHPSTORM"

クライアント側準備

ポート設定

Settings → Languages&Frameworks → PHP → Debug
Debug port を 9001 に編集

サーバ設定

Settings → Languages&Frameworks → PHP → Servers
+を押してサーバを追加する
(ローカルフォルダとリモートパスとの対応をちゃんと書くこと)

デバッグ設定

Add Coinfigurationを押して、プロジェクトごとのデバッグ設定を作成する

デバッグ設定は作成しなくても良いが、作成しておくと合言葉で接続制限をかけられるようになる。


XDEBUG固有の設定項目はここまでが最低限。

接続待ち受け開始

"Start Listening for PHP Debug Connections" を押してオンにし、接続可能状態にする。

デバッグしたくなくなったらオフにするとよい

ブラウザで接続

URLの末尾に ?XDEBUG_SESSION_START=PHPSTORM をつけてアクセスすると、デバッガが有効になる。
(※PHPSTORMは設定ファイルにも書いた合言葉)
一度有効になるとクッキーに残り、以降ずっと有効になる。
やめたくなったらXDEBUG_SESSION_STOPを指定