13
10

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.

MacにHomebrewでPHPスクリプトの実行&デバッグ環境構築

Last updated at Posted at 2016-09-02

長いことこの業界にいますが、初めてPHPの開発案件をやることになったんですよ。
言語仕様や文法は何となく分かるんですが、エコシステムがよく分かんない...
とりあえず、今必要なのはスクリプト実行なので、仮想環境使う程でもないかなーと思い、
Mac上で実行環境を作ってみました。

環境

OS X EL Capitan
Homebrew 0.9.9

PHP

Macには元々PHP入ってますが、バージョン等々切り替えたかったりすると思うので、
Homebrewで幾つかのバージョンをインストールしてみます。

リポジトリ追加

PHPのリポジトリをtapします。

% brew tap homebrew/php

インストール

PHP5.6をインストールする例。

% brew install homebrew/php/php56

PHP7.0を入れたい場合は、「php56」の部分が「php70」になります。

php.iniなどの設定ファイルは、以下のディレクトリに入ります。

/usr/local/etc/php/5.6

複数バージョンのPHPを入れたい場合

Homebrewで入れたPHPのいずれかに、/usr/local/bin/phpからlinkされている状態で、
別バージョンのPHPをインストールしようとすると以下のようなエラーになります。

% brew install homebrew/php/php55
==> Installing php55 from homebrew/php
Error: Cannot install homebrew/php/php55 because conflicting formulae are installed.

  php56: because different php versions install the same binaries.

Please `brew unlink php56` before continuing.

Unlinking removes a formula's symlinks from /usr/local. You can
link the formula again after the install finishes. You can --force this
install, but the build may fail or cause obscure side-effects in the
resulting software.

メッセージにも出ていますが、一旦unlinkをしてlinkを切る必要があります。

% brew unlink php56
...

% brew install homebrew/php/php55

新たにインストールしたPHPにlinkが作成されるので、
違うバージョンにパス通したい場合は、unlinkして使いたいバージョンにlinkすればよいでしょう。

% brew unlink php56
...
% brew link php70

x-debug

インストール

ステップ実行したいので、x-debugも入れます。
各バージョンに応じて以下のように。

% brew install homebrew/php/php56-xdebug

設定ファイルは以下に作成されます。

/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini

中身をこんな感じに設定します。

ext-xdebug.ini
[xdebug]
zend_extension="/usr/local/opt/php56-xdebug/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port="9002"

通常ポートは9000番を使うようですが、自分の環境では他のアプリで使用されていたため、9002を割り当てています。

オプションは多々あるようですが、

ローカルでステップ実行するだけなら、とりあえず上記の設定だけでも大丈夫そうなので、オプションは追々勉強します...

IDEの設定

IDEはどれがいいかよく分かってませんが、PhpStorm使ってみることにしました。

PHPの登録

Preferences → Language & Frameworks → PHPを選択
Interpreterの「...」ボタンを押してInterceptersダイアログを起動して、
PHP executable枠に使用したいPHPのパスを登録します。
intercepters.png

これだけで、php.ini、x-debugも認識されます。

ポート指定

Preferences → Language & Frameworks → PHP → Debugに
「Debug port」の枠があるので、x-debugに設定したポートを設定しておきます。

デバッグ実行

Run → EditConfigurationsを選択。
PHP Scriptを選択し、「+」ボタンを押して、スクリプトの実行設定ダイアログを開きます。
「File」枠にステップ実行したいPHPファイルを指定します。

degug-configurations.png

OKで戻ると、ウインドウ右上のプルダウンからいま作成した実行設定が選択できるので、
起動したい実行設定を選択してデバッグボタンを押下すると、デバッグ実行が開始されます。
※ブレークポイントは該当ファイルで、設定したい行の先頭をクリックすると設定できます。

参考ページ

以下を参考にさせていただきました。
ありがとうございました。

13
10
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
13
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?