Windows10でPHPの実行環境構築

IISを利用して,PHPの実行環境を構築する。

IISの有効化と”Hello html!”まで

  1. Windowsボタン + Rを押下 > controlと入力(コンパネを開く)
  2. 「プログラムと機能」 > 左パネルよりWindowsの機能の有効化と無効化を選択
  3. 下記を参考にチェックをつける。
    インターネットインフォメーションサービス
    > World Wide Webサービス
    > アプリケーション開発機能
    > CGI <-チェックインターネットインフォメーションサービス
    > Web管理ツール <-チェック
  4. OKボタンを押下するとインストールが開始される。
  5. C:\inetpub\wwwroot\の既存ファイルを削除(ndex.htmlを作成し,HelloWorldと入力
    (書き込み権がなかったら,wwwrootを選択しAlt + Enterを押下。
    セキュリティ > 編集より書き込み権限を付与する。)
  6. 任意のブラウザでhttp://localhostにアクセス。

以上


PHPの有効化

  1. https://windows.php.net/download/よりWindows用のPHP(zip)をダウンロード
  2. C:\inetpub\php配下に展開(どこでもいいんだけどね)
    権限が必要と言われるけど,「はい」でOK
  3. php.ini-productionをphp.iniにリネーム
  4. php.iniに任意のエディタで下記を追記する。
    (本当はコメントアウトして設定したほうがいいけど。)

    extension_dir = "ext" cgi.fix_pathinfo=1 fastcgi.impersonate = 1 fastcgi.logging = 0 extension=mbstring.dll [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto

    TODO: 設定項目に関する説明を別投稿にまとめる。

  5. 「VCRUNTIME140.dllが見つからないため~」とエラーが表示された場合はVCRUNTIME140.dllをインストールする。
    1. ダウンロードサイト
    2. 自分のOSのCPUのビット数に合わせること
      64bit -> x64
      32bit -> x86
    3. 落としたexeを実行すればOK
  6. 2の手順で展開したフォルダC:\inetpub\phpにフォーカスを合わせAlt + Enterを押下
  7. セキュリティタブ > 編集より,セキュリティ画面を開く
  8. 追加ボタンを押下し,「ユーザまたはグループの選択」ダイアログを開く
    「選択するオブジェクト名を入力してください」テキストボックスに「IIS_IUSRS」と入力。
  9. 「名前を確認」ボタンを押下
    「名前が見つかりません。」ダイアログが開かれた場合は,名前が間違ってる可能性があるので,「IIS_IUSRS」のスペルを確認!
  10. Windowボタン + Rを押下し,inetmgrと入力
  11. ハンドラーマッピングをダブルクリック
  12. 右パネルより,モジュールマップの追加を選択
  13. 下記を参考に設定を行う。
    要求パス: *.php
    モジュール: FastCgiModule
    実行可能ファイル: C:\inetpub\php\php-cgi.exe
    名前: PHP

    設定はこれで完了。

動作確認

C:\inetpub\wwwroot\test.phpを作成し,下記をコピペ

<?php
//ここを書き換える。
$name="nekonisi";


$fp=fopen("http://abehiroshi.la.coocan.jp/top.htm","r");
$arr=array();
$arrVal=array();
while(!feof($fp)){
	$data = mb_convert_encoding(fgets($fp), 'UTF-8', 'sjis-win');
	array_push($arrVal,$data);
}
$arr=preg_replace("(阿部 寛)",$name,$arrVal);



foreach($arr as $val){
	echo ($val);
}
?>

以上

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です