1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Sublime Text 3でxDebugを使う

Last updated at Posted at 2018-08-24

導入手順

  • php.iniにxDebugの設定を記述
  • Sublime Text3にパッケージ「xDebug Client」をインストール
  • xDebug Clientの設定

環境

  • Mac
  • MAMP (PHPバージョンは5.6.33。 7.~でも手順は変わらないと思います)
  • Sublime Text3

導入

php.iniにxDebugの設定を記述

xDebugを有効化します。
MAMPの場合、xDebugはインストール済みなので有効化するだけです。

php.iniに設定を記述します。php.iniのパスは「Application/MAMP/bin/php/使用しているPHPバージョン/conf/php.ini」。
xDebugの項目はファイル末尾付近に書いています。

~~色々書いてある~~

[xdebug]
;zend_extension="/Applications/MAMP/bin/php/使用しているPHPバージョン/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"

これを以下のように変更します。

[xdebug]
zend_extension="/Applications/MAMP/bin/php/使用しているPHPバージョン/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
xdebug.profiler_output_dir="/tmp/xdebug/"
xdebug.profiler_enable=On
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.idekey="sublime.xdebug"
xdebug.overload_var_dump = 0
xdebug.var_display_max_children = 128
xdebug.var_display_max_data = 1024
xdebug.var_display_max_depth = 10
xdebug.dump.GET= *
xdebug.dump.POST= *
xdebug.dump.SESSION= *

php.iniを保存してMAMPを再起動、起動したらphpinfoを確認してローカル環境でxDebugが有効化されているか確認しましょう。
下画像のようにxDebugの項目が表示されていれば有効化されています。

スクリーンショット 2018-08-24 9.44.47.png

Sublime Text3に「xDebug Client」をインストール

Sublime Text3を起動したら
[ツール] -> [コマンドパレット]で表示された入力カーソルに
install Package」、「xdebug client」を順番に入力してパッケージをインストール。

これでxDebug Clientのインストールが完了です。

xDebug Clientの設定

*.sublime-projectファイル

sublime-projectファイルに以下の内容を追記します。

{
	"folders":
	[
		{
			"path": "/Users/2t0/Sites/ginza-print.com_git"
		}
	],
    //ここから
	"settings":
	{
		"xdebug":
		{
			"url": "http://プロジェクトのURL/",
		}
	}
    //ここまで
}

Xdebug.sublime-settingsファイル

[ツール] -> [Xdebug] -> [settings - user]からxDebug Clientのカスタマイズができます。
以下は実際に自分が設定したものになります。

{
  // コンテキストでのスーパーグローバル変数の表示。trueで表示される
  "super_globals": true,
  // コンテキストに表示される変数の階層数
  "max_depth": 10,
  // PHPエラーが出た時点ブレークする。falseにするとエラー箇所でもブレークしなくなる。fatalエラーのみブレークするなど、エラーレベルの設定も可能
  "break_on_exception": false
}

その他の設定はXdebug Clientのパッケージページで確認できます。
Xdebug Client - Packages - Package Control

/etc/bashrcファイル

以下を追記します。
追記した後はターミナルからsource /etc/bashrcでbashrcを再読み込みします。

# User specific aliases and functions
export XDEBUG_CONFIG="idekey=sublime.xdebug"

xDebugを使う

  • ソースコード上で、ブレークポイントを置きたい場所で「⌘ + F8
  • [ツール] -> [Xdebug] -> [Start Debugging]でデバッグを開始します。(「⌘ + Shift + F9」)
  • デバッグしたいページのURL末尾に「?XDEBUG_SESSION_START=sublime.xdebug」のパラメータをつけてアクセス。ブレークポイントを置いた箇所でブレイク。
  • 次のブレークポイントに移るには「⌘ + Shift + F5
  • ステップインは「⌘ + Shift + F6

ブレークポイント時点での変数の確認が「Xdebug Context」のウィンドウで確認できます。ステップインで関数の書いてある場所もすぐわかる。

dumpとかprint_rとかもう書かなくてよくなりそう…

ここまで。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?