【Windows10Pro】IIS+PhpStormによるPHPアプリの開発準備

Windows10 Proに標準添付のIIS 10を使い、PHP 7.0を開発できるようにするまでの手順です。

また、PhpStormとXdebugを使用してデバッガをステップ実行できるようにしました。
参考程度ですがphp.iniも配布しています。

自分用の記録なので写真は少なめアッサリ風味です。

環境:

  • Windows10 Pro 64bit版 (Anniversary Update後)
  • IIS 10
  • PHP 7.0.10
  • Xdebug 2.4.1
  • PhpStorm 2016.2
スポンサーリンク
スポンサーリンク

IISのCGIサポートを有効化する

コントロールパネル→プログラムと機能→Windowsの機能の有効化または無効化→IIS→WWWサービス→アプリケーション開発機能→CGI
をON

PHPのWindows版バイナリをインストールする

IISで使用する場合は「非スレッドセーフ(Non Thread Safe)版」を使用する

→Downloads
→Current Stable PHP 7.0.10
→Windows downloads
→VC14 x64 Non Thread Safe (又は x86 Non Thread Safe)
→Zip

ちなみにこの時落としたのは php-7.0.10-nts-Win32-VC14-x64.zip

自分は C:\php にインストールしました。以降、ここにある前提とします。

Xdebugをインストールする

→download
→Xdebug 2.4.1
→Windows binaries
PHP 7.0 VC14 (64 bit)
「TSが付いていない」方を落とす。
多分「TS」が付いている方はスレッドセーフ版だと思います

php.iniファイルを調整する

  1. C:\phpを開く
  2. php.ini-developmentphp.iniにコピー
  3. 下記項目を修正
  4. 下記部分をコメントアウト(拡張機能の有効化。多分殆どのレンサバと互換性あると思う)
  5. 下記項目をファイル末尾に追記(Xdebug用の設定)

IISのハンドラマッピングに*.phpを追加する

IISマネージャー→サーバを選択→IIS→ハンドラーマッピング

モジュールマップの追加をクリック

下記情報を入力

要求パス *.php
モジュール FastCgiModule
実行可能ファイル c:\php\php-cgi.exe
名前 PHP via FastCGI

PhpStormを設定する

PHPのパスを通す

  1. File→Settings→PHP
    PHP language level 及び Interpreter を選ぶ
    …のだがInterpreter欄の「…」をクリックして
  2. php.exeの場所を教える

Xdebugのポート番号を指定

  1. File→Settings→PHP→Debugを選ぶ
  2. [Debug port]をphp.ini内のxdebug.remote_portと一致させる
  3. [Use debugger bookmarklets to initiate debugging from your favorite browser]をクリック
    ブラウザが立ち上がり「Xdebug & Zend Debugger bookmarklets generator for PhpStorm」画面に遷移する
  4. 「Xdebug」の「IDE key」に「PHPSTORMxdebug.idekeyで設定したもの)」と入力し、『GENERATE』ボタン押下

  5. 「Bookmark these links for future use」が表示されるので、その中の
    「Start debugger」「Stop debugger」をブックマークバーにドラッグ(ブックマークレットを保存)

接続先サーバを追加し、ローカルとWebサーバの物理パスを一致させる

File→Settings→PHP→ServersにIISを追加

Name:適当
Host:localhost
Use path mappingsの下の一覧、左側に開いてるファイルのディレクトリが表示されているので、その右側にIISでの物理パスを指定する。
今回はローカルで作り、ローカルで動かすので右左が一致する。

デバッグプロファイルを追加する

  1. Run→Settingsを開く
  2. +マークをクリックし、「PHP Remote Debug」を追加する
  3. 名前:適当(自分は Xdebug としました)
    Servers:local IIS(File→Settings→PHP→Serversで追加したもの)
    Ide key:PHPSTORMphp.inixdebug.idekeyと一致させる)

デバッグ実行のやり方

  1. デバッグしたいページをPhpStorm、ブラウザの両方で開く
  2. PhpStormの画面右上、電話?みたいなマークをクリックする

    その後、下図のようになる
  3. ブラウザ側で「Start debugger」ブックマークレットをクリック
  4. ブラウザをリロード
  5. ブレークポイントで止まるようになる
    (ブレークポイントは行番号の辺りをクリックすると赤丸が付く)

タイムアウト時間延長

取り敢えず動かすという意味では上記の設定までで十分だが、じっくりプログラムを見ているうちにIISがタイムアウトエラーを起こしてしまうので時間延長する。

  1. IISマネージャー→サーバを選択→IIS→FastCGIの設定を開く

  2. php-cgi.exeをダブルクリック

    1. タイムアウト値を変更
      項目 初期値 変更値
      アクティビティタイムアウト 70秒 600秒(10分間)
      要求タイムアウト 90秒 600秒(10分間)

今回作成したphp.iniを置いておきます

今回作成したphp.iniを置いておきます。

ダウンロード

関連項目

Web開発に関連する記事をまとめています。

ブログ内から、Web開発に関連する記事をピックアップしています。

他、IISでのPHP開発で分かったことは下記ページに追記しています。

WebサーバにIIS、IDEにPhpStormを使ってPHPアプリを開発しています。 開発中に発生したトラブルとその対応内容をこのページに健忘録として記録しておきます。

PhpStormを公式サイトから買ったときの記録

PhpStormをJetBrains公式サイトで購入・アクティベートする方法です。 英語が苦手な方でも手順が分かるように配慮しています。