WordPressのプラグインを作っていたとき。
Ubuntu上のWordPressをPhpStormでステップ実行デバッグしたくなった。
UbuntuにXdebugをインストールしてPhpStormを設定した。
目次(クリックで項目に飛びます)
パッケージのインストール
1 | sudo apt install php-xdebug |
PHPのバージョンを確認するとXdebugのコピーライトが追加されている。
1 2 3 4 5 6 | fuka@techo:/var/www/html/wordpress$ php -v PHP 7.0.13-0ubuntu0.16.04.1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.13-0ubuntu0.16.04.1, Copyright (c) 1999-2016, by Zend Technologies with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans |
Xdebug側の設定
設定ファイル修正
設定は /etc/php/7.0/apache2/conf.d/20-xdebug.ini
にある。
1 | sudo vi /etc/php/7.0/apache2/conf.d/20-xdebug.ini |
最初は1行しか無い。
1 | zend_extension=xdebug.so |
これを
1 2 3 4 5 6 7 8 9 10 | zend_extension=xdebug.so xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_port = 9000 xdebug.remote_host = 192.168.1.20 xdebug.profiler_enable = 1 xdebug.profiler_output_dir = "/tmp" xdebug.max_nesting_level = 1000 xdebug.idekey = "PHPSTORM" |
にする。
ミソは2箇所、xdebug.remote_host
にはPhpStormを実行するPCのアドレスを、xdebug.idekey
には"PHPSTORM"
を指定する。
Apacheの再起動
1 | sudo apachectl restart |
PhpStorm側の設定
Windows10 Proに標準添付のIIS 10を使い、PHP 7.0を開発・デバッグできるようにするまでの手順。
php.iniも配布。
の応用になる。
プロジェクトを開いたら、File⇒Settignsで設定画面を開く。
リモートデバッグの有効化
- Languages & Frameworks⇒PHP⇒Debugを辿る
- Debug portをxdebug.iniと合わせる
また、Can accept external connectionsにチェックを入れる
- 設定が初めてなら以下の設定も行っておく
- [Use debugger bookmarklets to initiate debugging from your favorite browser]をクリックしてブックマークレットを設定
- デバッグプロファイルの作成
リモートサーバーの指定
設定画面を引き続き操作。
- Languages & Frameworks⇒PHP⇒Serversを辿る
- +ボタンで項目追加
- HostにWordPressが動いているマシンのIPアドレスを指定
Portは80、DebuggerはXdebug - Use path mappingsにチェックを入れる
- 左側はローカルマシンでのWordPressディレクトリを、右側はサーバー機でのWordPressディレクトリを指定
デバッグ実行のやり方
- デバッグしたいページをPhpStorm、ブラウザの両方で開く
- PhpStormの画面右上、電話?みたいなマークをクリックする
(デバッグOFF)
↓
(デバッグON)
- ブラウザ側で「Start debugger」ブックレットをクリック
- ブラウザをリロード
- ブレークポイントで止まるようになる
(ブレークポイントは行番号の辺りをクリックすると赤丸が付く)
注意:デバッグONだと糞遅くなる
Xdebugが有効だと露骨に動作が遅くなる。
以前Vagrant+VCCWが遅くて諦めたが、これが原因だったか…!
普段はxdebug.ini
の2行目以降をコメントアウトしてデバッグOFFにしておいた方が良い。
関連記事
IISとPhpStormの組合せでリモートデバッグしたい方へ。
Windows10 Proに標準添付のIIS 10を使い、PHP 7.0を開発・デバッグできるようにするまでの手順。
php.iniも配布。
UbuntuにWordPressをインストールする方法を知りたい方へ。
Ubuntu 16.04 ServerへWordPressをインストールする方法を説明します。
ローカル環境にWordPressがあるとCSSスタイルやプラグインの開発がやりやすくなります。