当記事では、Windows10にPHP7をインストールしてPHP Tools for Visual Studioから使えるようにする試みなのだが、表題の通り失敗した。
いちおう備忘録なのでその経緯をメモしておく。
まあワテにしか役に立たない記事だ。
Windows10にPHP7をインストールする
まず、公式サイトからPHP7のダウンロードだ。
本時点(2016/8/25)ではPHP7.0.10と言うのが出ている。
四種類のインストーラーがある。
- X86, X64
- Thread Safe, Non Thread Safe
の組み合わせがあるのだ。
下図左に示すようにIISではNon Thread Safe版がお勧めだ。理由は検索すると出てくると思うので省略。
さっそく
php-7.0.10-nts-Win32-VC14-x64.zip
をダウンロードした。
解凍して
C:\inetpub\wwwroot\php-7.0.10-nts-Win32-VC14-x64
に置いたが、パスが長くてややこしいのでシンボリックリンクを作成しておいた。
C:\WINDOWS\system32>cd C:\inetpub\wwwroot C:\inetpub\wwwroot>mklink /D C:\inetpub\wwwroot\php C:\inetpub\wwwroot\php-7.0.10-nts-Win32-VC14-x64 C:\inetpub\wwwroot\php <<===>> C:\inetpub\wwwroot\php-7.0.10-nts-Win32-VC14-x64 のシンボリック リンクが作成されました C:\inetpub\wwwroot>
まあ、この作業は必要ないかもしれない。
あとは、
php.ini-development
をコピペして
php.ini
を作成して、適当に編集した。
先日もこれと同じ作業をWindows Server 2012R2でやったのだが、その環境ではこれでPHP7を動かす事が出来た(IISマネージャーでハンドラーマッピングの設定は勿論必要)。
一方、Windows10ではVisual Studio2015を使っているので、その環境ではPHPのデバッグもしたい。
その為にはVisual Studio 2015にPHP Tools for Visual Studioという拡張機能をインストールする必要がある。
Tools for Visual Studioのインストール
上図の通り30日のお試し版だ。
ワテの知る限り、この製品以外にはVisual StudioでPHPをデバッグ出来るものは無い。購入するかどうかは未定だが、買うと安くはない。
兎に角ダウンロードした。
インストールも簡単なのでその過程は省略。
PHP Tools for Visual Studioの設定作業
[メニュー] → [オプション] 設定
を開く。
下図のように、今インストールしたPHP7フォルダへのパスを設定する。
そうすると、上図のようにphp.iniファイルの設定が何か足らないのでお勧めの設定を見ますか(View recommendations)?と出ている。
クリックすると下図が出た。
全部にチェックを入れて、[Apply]をクリックしたらphp.iniファイルが自動的に書き換えられたようだ。
でも、PHPをデバッグするために必要なXDEBUG Extensionが入っていないみたいなメッセージが出たので早速入れる事にした。
XDEBUGを公式サイトからダウンロード
PHP 7.0 VC14 (64bit) をダウンロードした。
DLLファイルが一個だけだ。
php_xdebug-2.4.1-7.0-vc14-nts-x86_64.dll
これを ext フォルダに入れて、php.iniに
zend_extension=”C:\inetpub\wwwroot\php-7.0.10-nts-Win32-VC14-x64\ext\php_xdebug-2.4.1-7.0-vc14-nts-x86_64.dll”
のパス設定もしてみた。
それでもう一回試すと、今度はXDebugが認識されているが、また同じく推奨設定が有るとの事。
クリックしたら下図が出たので全部チェックして[Apply]した。
その結果、php.iniは以下の行が追加された。
[XDEBUG] zend_extension="C:\inetpub\wwwroot\php-7.0.10-nts-Win32-VC14-x64\ext\php_xdebug-2.4.1-7.0-vc14-nts-x86_64.dll" xdebug.remote_port = 9000 xdebug.remote_host = localhost xdebug.remote_handler = dbgp xdebug.remote_enable = on
これでPHP Tools for Visual Studioの設定出来たと思う(下図)。
上の設定を完了後に、PHPプロジェクトのWEBサイトを表示させてみたら、起動時に何か構成が足りないみたいなメッセージが出た(英文)。YESをクリックすると、WEB Platform Installerが動いて何かインストールを開始した。
良く分からんのでそのまま放置して一分くらい掛かって終わった。
その後は正常にPHPサイトが表示出来るようになった。
WEB Platform Installerの実行中の画面をキャプチャし忘れた。
画面に沢山の文字が出てよく覚えていないのだが、その時に一瞬目に入ったのは
IIS Express
PHP5.6
などの単語であった。
ん?
どう言う事?
PHP5.6がIIS Expressにインストールされたのかな?
それでCドライブを “PHP” で全検索を掛けてみたら、確かにそれらしき物がある。
その時間も、インストールを実行した時間とピッタリと一致している。
良く分からん。
兎に角、PHPをVisual Studioで使う設定が出来たようだ。
IISでは自分でインストールしたPHP7.0が使われるのかな?
IIS Expressでは、先ほど自動的にインストールされたPHP5.6が使われるのかな?
まあ、その辺りの疑問は今後調査しておきたい。
(追記:その後の調査では上記の説明通りIIS ExpressにPHP5.6がインストールされていた。この記事参照。)
さて、このあと過去のPHPプロジェクトを開いて実行してみたのだが、動かん。
もちろんデバッガーも動かん。
あかん。
今日はこのくらいにしておこう。
(追記:その後無事にPHPが動きデバッグも出来るようになった。この記事参照。)
他の問題
Visual Studio2013で作成していたNode.jsのプロジェクトをVS2015で開くと見慣れぬメッセージが出ている。
Node.js IntelliSense added a typings folder to your project
何だこりゃ?初めて見るメッセージだ。
[Customize]をクリックしてみたら、オプション設定画面が開いた。
Node.jsのプロジェクトにtypings というフォルダが追加されたと言う事らしい。
その中身はこんな感じ。
詳細は未確認だが、たぶんTypeScript1.8の機能には必要なのかな?
まあ、このtypingフォルダの意味も、今後必要になった時点で調べよう。
あと、別の問題もある。
jquery-2.1.4.min.jsの エラー
WebFormプロジェクトを実行すると一応動くのだが、ChromeのF12画面で見慣れぬエラーが出ている。
良く分からん。
まとめ
全然まとまっていないが、当記事で行った作業を列記すると以下の通り。
- Windows7にPHP7 Non Thread Safe x64 を入れた。
- XDEBUGを入れた
- PHP Tools for Visual Studioを入れた
- PHP Tools for Visual Studioの設定を行った
- でもPHP7が動かん。
- IIS ExpressにPHP5.6が自動インストールされた(これは後の実験で正常に動作した)。
- Node.jsに追加されたtyping フォルダは何なのか?未確認だ。
- WebFormアプリでjquery-2.1.4.min.jsの エラーが出ている。
- jquery-2.2.4.jsで試したが同じエラー。
- jquery-3.1.0.min.jsで試したらプロジェクトそのものが動かん。
もう訳分からんので今日はこのくらいにしといたろ。
コメント