ローカル開発環境
これは、Mac上でPhpStormを使用したローカルPHP開発環境のセットアップ例です。できるだけ標準ツールのみを使用し、他に影響を与えないようにクリーンに整備することを重視しています。
ローカルで実行するので動作は高速です。開発中のアプリケーション切り替えを最小限にし、統合開発環境(IDE)でより快適で効率的なソフトウェア開発プロセスを体験する事を目指します。
- 特定バージョンのPHPをインストール
- XDebugのインストール
- データベースインストール
- PhpStorm
- PHP
- XDebugのオンデマンドモードの設定
- DBブラウザ(DataGrip)
- Git
- ターミナルのプロファイル設定
PHP
以下のコマンドでshivammathur/phpをタップ、PHPバージョンを指定してインストールします。PHP5.6から最新版までがインストール可能です。
brew tap shivammathur/php
brew install shivammathur/php/php@8.1
brew install shivammathur/php/php@8.2
XDebug
peclでインストールします。PHP8.0以上か未満かでインストール方法が若干異なります。
PHP 8.0以上1
利用可能な最新バージョンがインストールされます。
$(brew --prefix)/opt/php@8.1/bin/pecl install xdebug
PHP 5.6 & PHP 7.x
XDebugのバージョン指定が必要です。2
$(brew --prefix)/opt/php@5.6/bin/pecl install xdebug-2.5.5
$(brew --prefix)/opt/php@7.0/bin/pecl install xdebug-2.7.2
$(brew --prefix)/opt/php@7.1/bin/pecl install xdebug-2.9.8
$(brew --prefix)/opt/php@7.2/bin/pecl install xdebug-3.1.6
$(brew --prefix)/opt/php@7.2/bin/pecl install xdebug-3.1.6
$(brew --prefix)/opt/php@7.3/bin/pecl install xdebug-3.1.6
$(brew --prefix)/opt/php@7.4/bin/pecl install xdebug-3.1.6
PECLパッケージ
その他PECLのパッケージのインストール例です。
$(brew --prefix)/opt/php@8.2/bin/pecl install pcov
$(brew --prefix)/opt/php@8.2/bin/pecl install apcu
$(brew --prefix)/opt/php@8.2/bin/pecl install redis
$(brew --prefix)/opt/php@8.2/bin/pecl install xhprof
brew install libmemcached
brew install pkg-config zlib
yes no | PHP_ZLIB_DIR=$(brew --prefix zlib) $(brew --prefix)/opt/php@8.2/bin/pecl install memcached
brew install imagemagick
yes no | $(brew --prefix)/opt/php@8.2/bin/pecl install imagick
PECLインストールトラブルシューティング
fatal error: 'pcre2.h' file not found
#include "pcre2.h"
^~~~~~~~~
1 error generated.
上記のようにpcre2.h
などの.h
の拡張子のヘッダーファイルが存在しないというエラーが発生した場合は、以下のようにパスを伝えてインストールします。
C_INCLUDE_PATH=/opt/homebrew/include pecl install pcov
あるいは下記のようにシンボリックリンクを張ります。
ln -s /opt/homebrew/opt/pcre2/include/pcre2.h /opt/homebrew/opt/php@8.2/include/php/ext/pcre/pcre2.h
またmemcache
の利用にはbrew install libmemcached
でlibmemcachedのインストールが必要です。
DB
dbgine をインストール
https://dbngin.com/
このようなexportコマンドと共に開きます。
export PATH=/Users/Shared/DBngin/mysql/5.7.23/bin:$PATH
前述のターミナルのPHPのexport分と組み合わせることができます。
export PATH="$(brew --prefix)/opt/php@8.1/bin/:PATH=/Users/Shared/DBngin/mysql/5.7.23/bin:$PATH"; php -v
接続を確認します。
mysql -uroot -h127.0.0.1 -P3306
PhpStorm設定
Xdebugをオンデマンドモードに
XdebugをXDebugを必要な時のみONにするオンデマンドモードの設定を行います。
まず、php.iniの場所を知るためにphp --ini
コマンドを実行します。
php --ini
Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.1
Loaded Configuration File: /opt/homebrew/etc/php/8.1/php.ini
Scan for additional .ini files in: /opt/homebrew/etc/php/8.1/conf.d
Additional .ini files parsed: /opt/homebrew/etc/php/8.1/conf.d/ext-opcache.ini
php.iniを編集して、xdebug.soの読み込みをコメントアウトしてXDebugを無効にします。これで普段はPHPはXDebugなしで実行されます。
;zend_extension="xdebug.so"
次にXDebugが必要なときに使用できるようにPhpStormでPHPバージョンの指定とXdebugの構成を行います。
PHP > Debug

Composerやコンソールで適宜XDebuOnにする時の使い方は必要な時のみXDebugをOnをご覧ください。
ターミナルのPHP
PhpStorm内で開いたターミナルはCLIインタープリターで設定したパスのPHPパスが通っています。確かめてみましょう。
which php
/opt/homebrew/opt/php@8.1/bin/php
DataGrip
データベースブラウズにはPhpStormに統合されているDataGripを使います。3
表示
> ツールウインドウ
> データベース
で開きます。

- MySQLの接続を参照してDBに接続します。
- そのほかの使い方はデータベースツールおよびSQL を参照します。
- 他のDBブラウザを使う場合でも、データソースの設定を済ませておくとSQLのコーディングでテーブル名やカラム名の補完が効いて便利です。
Gitクライント
表示
> ツールウインドウ
> Git
で開きます。

Diffも使いやすく、1つのファイルでブロック単位にコミットする事もできます。詳しくはGitのマニュアルを参照してください。GitHubとも統合4されています。
PHPStorm補完ショートカットキー
PHPStormの「補完ショートカットキー」を使用可能するための設定をします。このショートカットキーは多用するのですが、Macの「言語変更ショートカットキー」とコンフリクトしていてどちらかの設定を変える必要があります。
- Macのショートカットキーを変えるなら
システム設定 > キーボード > キーボードショートカット > 入力ソース > 前の入力ソース
の^スペース
を変更します。 - PHPStormのショートカットキーを変えるなら
メインメニュー > コード > コード補完 > 基本
の^Space`を変更します。
Mac標準ターミナル
(PHPStormのターミナルだけで完結する場合はこのセクションの設定は必要ありません)
ターミナル > 環境設定 > プロファイル で[+]をクリックして特定のPHP環境のパスを有効にするプロファイルを作成します。
シェルタブのコマンドを実行に以下の記述をします。
export PATH="$(brew --prefix)/opt/php@8.0/bin/:$PATH"; php -v
ウインドウ
タブでタイトルをPHP8.1
などと変えます。
ターミナルの新規ウインドウでプロファイルから指定するPHPを選んで開きます。

設定完了、この次は?
- PHPStormが初めてならばPHPStorm クイックスタートガイドに目を通しましょう。
- ショートカットキー一覧PDFを参考にします。
- 役に立ちそうなPHPStormプラグインを探しましょう。
-
$(brew --prefix)
でインテルとAppleシリコンのパスの違いを吸収しています。 ↩ -
最新番号はXDebugのSupported Versions and CompatibilityとPECLのPHP::xdebugで確認してください。 ↩