PHP
Windows
xdebug
Composer
VSCode

WindowsにPHPを導入してVSCodeで開発を始めるまでの手順

More than 1 year has passed since last update.

はじめに

Windows上に最新版のPHPをインストールして使い始めるまでに必要な最低現の手順を、備忘録としてメモしてみました。
このドキュメントはローカル開発環境の構築をターゲットにしていて、Webサーバ環境は目的としていませんのでご注意ください。

事前準備

再頒布可能パッケージのインストール

PHPバイナリの実行に「Visual Studio 2015 の Visual C++ 再頒布可能パッケージ」が必要な為、以下よりダウンロード・インストールしておく。
https://www.microsoft.com/ja-jp/download/details.aspx?id=48145

インストール手順

PHPのインストール

以下の手順でPHP For Windowsをインストールする。

  1. PHP For Window をダウンロードする
    http://windows.php.net/download
    ※スレッドセーフ・ノンスレッドセーフ版があるので、以下を選択するとよい。(詳しくはPHPマニュアルを参照)
    • Apacheを使いたい場合 … スレッドセーフ版
    • NGINXを使いたい場合 … ノンスレッドセーフ版
    • 開発のみに使いたい場合 … スレッドセーフ版(どちらでも可)
  2. 適当なディレクトリに解凍してPathを通す
  3. "php.ini-development"を"php.ini"として複製する
  4. "php.ini"をテキストエディタで編集し、以下の設定を変更する
php.ini
extension = php_openssl.dll
:
[Date]
date.timezone = Asia/Tokyo
:
[mbstring]
mbstring.language = Japanese
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
:

※この変更は必要最低限なので、公開環境(HTTPサーバ等)で動かす場合は他にもセキュリティ対策のための設定を行う必要がある。

コマンドプロンプトで"php -v"を実行し、以下のように出力されたら成功。

> php -v
PHP 7.1.6 (cli) (built: Jun  8 2017 01:52:52) ( NTS MSVC14 (Visual C++ 2015) x64 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

ついでなのでPHPコマンドをもう少し動かしてみよう。
コマンドプロンプトで以下のコマンドを実行すると、現在時刻が出力される。
※現在時刻が9時間ずれている場合は、"php.ini"の設定"date.timezone"が変更されているか確認しよう。

> php -r "print date('Y-m-d H:i:s');"
2017-10-20 12:34:56

Composerのインストール

ComposerはPHP開発者によって最近よく使われているパッケージマネージャ(Node.jsでいうところのnpmのようなツール)である。
以前は公式パッケージマネージャのPEARがよく使わていたが、最近はほとんどがComposerで配布されているので、インストールすることを強く推奨する。

  1. 以下の説明に従い、Composerをインストールする。
    https://getcomposer.org/doc/00-intro.md#installation-windows

コマンドプロンプトで"composer -V"を実行し、以下のように出力されたら成功。

> composer -V
Composer version 1.5.2 2017-09-11 16:59:25

インストール後、Composerを最新版にアップデートする場合、以下のコマンドを実行する。

> composer self-update

[成功した場合の出力]
Updating to version 1.5.2 (stable channel).
   Downloading (100%)
Use composer self-update --rollback to return to version 1.5.1

[アップデートの必要がない場合の出力]
You are already using composer version 1.5.2 (stable channel).

XDebugのインストール

XDebugは必須モジュールではないが、設定しておくとVSCode等の開発環境からリモートデバッグできるうようになり、ブレークポイントを設置したり変数を評価したり、色々と捗って楽しい。
※PHP5.x以前は標準デバッガとして付属していたが、PHP7.xからは付属されなくなった。この為、以下の手順にて手動でインストールする必要がある。
※リモートデバッガは公開環境(本番環境)にインストールしないように注意すること。

  1. "php_xdebug.dll"をダウンロードする https://xdebug.org/download.php
  2. "php_xdebug.dll"をPHP内"ext/"ディレクトリに配置する
    ※"php_xdebug-2.5.5-7.1-vc14-nts-x86_64.dll"のようなファイル名なのでリネームを推奨
  3. "php.ini"をテキストエディタで編集し、以下の設定を追記する
php.ini
zend_extension=php_xdebug.dll

[XDebug]
xdebug.dump_undefined = 1
xdebug.remote_enable = 1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart = 1

コマンドプロンプトで"php -v"を実行し、以下のように出力されたら成功

> php -v
PHP 7.1.6 (cli) (built: Jun  8 2017 01:52:52) ( NTS MSVC14 (Visual C++ 2015) x64 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

VSCodeの設定

以下の拡張機能をインストールする事で、インテリセンスとリモートデバッグが使えるようになる。

  1. 拡張機能「PHP Extension Pack」をインストールする
  2. ファイル→基本設定→設定にて以下を設定する
ユーザー設定
{
    "php.suggest.basic": false,
    "php.validate.executablePath": "c:/path_to/php.exe",
    "php.executablePath": "c:/path_to/php.exe"
}