osx にフォントをコマンドでインストールする方法

Xcode のコードエディタで Swift を書くときに視認性のよいフォントを探したところ,source-code-pro というのが良さそうでした.
しかし,フォントを追加するのは意外に面倒そう.
というわけで簡単にインストールする方法を探したら,ありました.
コマンドラインからインストールできるようだったので,試したところ便利だったのでメモです.

▼ font-source-code-pro をインストールする.

$ brew tap caskroom/fonts                  # you only have to do this once!
$ brew cask install font-source-code-pro

▼ インストールできるフォントのリスト

$ brew cask search /font/


Macにフォントをコマンド一発で導入する!
brew tapとは

PHP Storm の Xdebug 設定で困ったら確認する点

先日,何度も行っている PHP Storm の Xdebug 設定が行えず,少し調べたのでメモしておきます.

▼ 使用している環境

MAMP バージョン4.1.1 (492)
PHP Version 7.0.15
PhpStorm Version 2017.1.4

PHP Storm にてデバッグが行えない場合,以下の点を確認します.

・PHP Storm にてデバッグの設定がされているか?
・php.ini に xdebug の設定がされているか?
・php.ini の xdebug 設定が適切か?
・xdebug が動作しているか?

PHP Storm のデバッグ設定についてはたくさん情報が公開されているので,あまり間違いはないかと思いますので,ざっと以下の事柄を確認すればよいかと思います.

▼ PHP Storm の PHP Server設定

Preferences > Languages & Frameworks > PHP > Debug
xdebug のデバッグポート番号を確認します.

Preferences > Languages & Frameworks > PHP > Servers
MAMP を使用している場合,正しくポート番号などが設定されているか?確認します.

▼ PHP Storm の リモートデバッグ設定

RUN > Edit Configurations…
Defaults > PHP Remote Debug
一応,こちらも Preferences の設定が反映されているか?確認します.

次に php.ini に xdebug の設定がされているか?確認します.
適用されている php.ini ファイルは環境により異なりますので,phpInfo により確認します.
私の場合,MAMP を使用しているので,MAMP の phpInfo より以下の項目を確認しました.

▼ phpInfo から .ini ファイルを特定する

Loaded Configuration File」項目の設定を参照する.
/Applications/MAMP/bin/php/php7.0.15/conf/php.ini

▼ xdebug 設定

上記の .ini ファイルを開き,[xdebug] セクションを確認します.
問題があった環境では以下のような設定になっていました.
一見問題がないような気がしますが,「xdebug.remote_connect_back」が設定されているとデバッグが行えないことがあるようです.

zend_extension="/Applications/MAMP/bin/php/php7.0.15/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
; zend_extension="/usr/libexec/apache2/xdebug.so"
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.profiler_enable = 1
xdebug.profiler_output_dir="/var/tmp/xdebug"
xdebug.idekey = "PHPSTORM"
xdebug.remote_connect_back = on   // ここが問題だった

remote_connect_back をオフにして動作を確認します.
私の環境では,この設定がオンになっていたためデバッグできなかったようです.

xdebug.remote_connect_back=0
または
xdebug.remote_connect_back=off

xdebug.remote_connect_back は,Xdebug 2.1 から追加された設定で xdebug.remote_host をコメントアウトして,この設定を追加すると,複数のリモート バッグ環境に対応できるとのこと.

▼ ブックマークレットを使わずに,常にデバッグするには

xdebug の設定で,idekey を設定して,remote_autostart をオンにしておけばよいようです.

xdebug.remote_autostart=1

参考:This section describes all available configuration settings available in Xdebug.

設定を変更した際には,サーバの再起動を行います.
再度,phpInfo で xdebug が有効になっているか確認します.

▼ xdebug が動作しているか?

ターミナルを開き,以下のコマンドで確認することができます.

$ lsof -n -P -i :9000

環境によっては,ポート番号: 9000 でデバッグできず,9001 などにされている方もいるようです.

上記の事柄が問題なければ,ツールバーにある「listen php debug connections」をクリックします.
スタートするとアイコンの上部が緑色になるはずです.

では!