Help us understand the problem. What is going on with this article?

【初心者向け】0から導入するPHPの環境構築 Windows10版

More than 1 year has passed since last update.

はじめに

PHPのローカル環境が必要になり環境構築をしようとしましたが、PCに必要なものがいろいろ入っておらず「全然動かないんだけど!」と深みにはまりかなり苦しむことになってしまいました(初心者が環境構築に苦しむってこういうことなんだなって・・・)

PHPだけを導入するとlocalhostでHTMLが表示されるので一見動いているように見えるのですが、実際はデータベースを使った操作や基本的な機能が使えないので他にも設定する必要があります。

PHPの環境構築の記事はある程度必要なアプリケーションが入っている前提で書かれているものが多く大変だったため、備忘録を兼ねて同じように初心者が苦しまないよう投稿することにしました。

目的

Windows10にPHPを導入してPHPを動かせるように。

初心者が買ったばかりのPCにPHPの環境を構築できることを目標にしているので、いろいろな記事を探さなくても良いように初歩的な部分も省略せず説明して行こうと思います。

本来アプリケーション1つごとに記事が書かれていることが多いですがこの記事だけで導入できることを目指しているため長くなってしまいました、ご了承ください。

概要

・PHPを動かすために必要なもの(記事更新時の最新版)

 1 VisualStudio(2017)
 2 (Visual Studio 2017 の Visual C++ 再頒布可能パッケージ)
 3 PHP(-7.3.0)
 4 Apache(2.4.37 VC15)

PHPを動作させるにはVisual C++というものが、PHPをサーバー上で動かすにはApache必要になります。
またVisual C++を使うため、また後々必要になるMySQLを動作させるためにVisualStudio2017も必須のためこちらもダウンロードしてください。

※注1)XAMPPというパッケージを使ってインストールしよう、またはXAMPPを使ってインストールしたけど動かず困っている方は(1)のVisualStudioのインストールをしてみてください。

※注2)VisualStudio2017ではなく2015をダウンロードもしくはあらかじめ入っている方はそちらの再頒布用パッケージをダウンロードしてください。またVisualStudio2019がリリース予定と公式ページに書いてありますので今後そちらをダウンロードされた方には2019版の再頒布用パッケージがないか確認してみてください。

※注3)2のVisual C++ 再頒布用パッケージはVisualStudioをダウンロードする際に設定をきちんとすれば必要のない可能性があります。この記事には恐らく必要のないであろう設定のやり方を書いておきましたが、私はいろいろな方法を手当たり次第に試してしまったため判別がつきませんでした、もしわかる方がいらっしゃれば教えていただけるとありがたいです。
 

・自分のPCのbit数の確認

今回ダウンロードするものには32bit版と64bit版が存在するものがあります。私のPCは64bitだったので64bit版をダウンロードしています。お持ちのPCに合わせたバージョンをダウンロードしてください。

▼確認の仕方ですが、まずWindowsメニューから設定を開き、システムを開きます。
02239ec9092b0925a1946a6b9ad48321.png

▼そうするとシステム関連の項目が出てきます、そこで左側のメニューバーに<バージョン情報>という項目があるので開いて、そこからシステムの種類を参照し自分のbit数を確認してください。
c4cc8e2b41f479dc3a4c81002f488fa2.png

1. 必要なファイルのダウンロード

まず最初に必要なものをすべてダウンロードしてしまいましょう。

Ⅰ. VisualStudio 2017のダウンロード

まずこのリンク先のMicrofoftの公式ページにあるVisual Studio 2017のダウンロードページからファイルをインストールしてください。

▼ページを下へ行くとすぐ画像のようなボタンが見つけられると思います。
7bac28e7e863e7aa6ff90f47115f41e0.png

▼そうすると以下の画面に移動すると思います。今回は個人で一番左のコミュニティをダウンロードしましょう。これは個人開発向けのものであり無料で利用することができます。

ダウンロードを押すと画面が変わりますが待っていれば勝手にダウンロードされるので待ちましょう。インストーラーが保存されれば完了です。
fa605cb7fc4f95fe03eced41841ce74b.png


Ⅱ. Visual C++のダウンロード

次にこちらもMicrofoft公式ページにあるVisual C++の再頒布用パッケージをダウンロードしておきましょう。リンク先に行くと以下の画像のようなページに飛びます。
今回はVisualStudio2017版のパッケージをダウンロードしますが、下に行くと過去のバージョンもあるので、もし過去のバージョンを使っていれば参照してください。

▼ここで先ほど確かめたと思いますが、使っているPCが64bitならx64を、32bitならばx86をダウンロードしてください。今回は64bitで進めているので下を赤枠で囲みました。ダウンロードされてインストーラーが保存されれば完了です。
dd7fae3a1610a4ada04ae3a8399935ff.png


Ⅲ. PHPのダウンロード

メインのPHPをダウンロードしましょう。こちらのPHP公式ダウンロードページからダウンロードできます。

▼1枚目の画像のページへ行きます、もし別のページが表示されても上のナビバーにあるDownloadをクリックするとこの画面に移動できます。
もちろん今回はWindowsでのダウンロードなので赤枠のwindows Downloadをクリックしましょう。
91b17c2e98b6cab2731d2f1231b1cfa5.png

▼そうすると以下の画面に移ります。
今回は最新版のPHP7.3をダウンロードするのですが、4種類ありますね。まずx64とx84ですがこれはVisual C++で説明したものと同じです。自分のbit数に合ったものを選んでください。

次にThread SafeとNon Thread Safeについてですが、Thread SafeはサーバーにApacheを利用する場合、Non Thread SafeはMicrosoftが開発したWebサーバーのIISを使う場合を想定しています。今回はサーバーにApacheを使うのでThread Safeですね。

というわけで今回はVC15 x64 Thread SafeのZipファイルをダウンロードします。Zipファイルが保存されれば完了です。
※注)VC15はVisual C++ 2015のことですが2017版でも動作することを確認しているのでご心配なく。
063deb2b369c37af2f6e33d6a84ad574.png


Ⅳ. Apacheのダウンロード

最後にApacheをダウンロードしましょう。これはローカルサーバーを起動するために必要になっていきます。
それではこちらのApache Loungeという公式ページからApacheをダウンロードしていきましょう。

▼まず移動すると1枚目の画像のように左にDownloadというリンクがあるのでそれをクリックすると2枚目の画像のページに移動するので、今回も自分のPCと合ったbit数のファイルをダウンロードしてください。
75665816155395c1a418e4c7b55a0108.png
0b0d898492381d8855e9ca8302fedd62.png
※注)Win64は64bit版、Win32は32bit版です、こちらもVC15ですがVisual C++ 2017でも動作を確認できています。

2. Visual Studio 2017のインストール

それではインストールに入っていきましょう。

8193a4f09ff4e1155d611ca851561dfe.png
▲先ほどダウンロードしたものから赤枠のアイコンのアプリケーションを開いてください。実行するとプログラムに変更を加える許可を求められるので「はい」を選択。

0b80e670dbf8838617218454c0aa96b7.png
▲そうするとこのようなウィンドウが開くので続行をクリック。アプリケーションを起動するためにしばらく読み込みが始まりますので待ちましょう…。

b442da7074fa5e1b2f1cdee194135ddd.png
▲読み込みが終わるとこのような画面が出てきます。ワークロードの中で必要に応じてチェックをつけてインストールをします。調べると大体上の3つはインストールしているのでしておきましょう。あとはPythonやUnityなどいろいろあるので興味があって後々触りそうだなというものにチェックをつけておけばいいと思います。

私は念のためMySQLに関係あるデータベースの保存と処理にだけチェックをしておきました、もう一度インストーラーを起動すればこの画面に戻り追加でインストールもできるのでそこまで気にしなくても大丈夫そうです。

あとは右下のインストールボタンを押してインストール開始(画像はインストール済みなので変更になっています)。PCの処理速度にもよりますが結構時間がかかるのでここで一度休憩でもしましょう。



※注)概要欄にも書きましたが、赤枠で囲った「C++によるデスクトップ開発」、これにチェックを入れインストールすれば再頒布用パッケージを適用しなくていい可能性があります(というかむしろ高いです。)なのでこちらをきちんと設定した人は次の再頒布用パッケージの適用を飛ばしても構いません。
(恐らく適用しても大丈夫ですが私は試せていなく不具合が出ないとも限りませんのでもしすべて設定が終わっても動かない場合に試してみるなどでよいと思います)

3de8c5e25d29172adf42c68f003a13c8.png
▲ダウンロードが終了するとこのような画面が出てきたあと、再起動を要求されるので再起動しましょう。再起動した後VisualStudioを起動してみましょう。
見つからない場合は左下の検索窓でVisualStudio2017と検索してみましょう、今後いろいろなアプリケーションを使うと思うのでとりあえず見失ったらここでで調べてみるといいです。

f4340e7204ebffde308f491f8919302b.png
▲起動するとMicrofoftアカウントでのログインを要求されるのでログインしてください(ない場合は登録)、それが終わるとこの画面が出てきます。そうすればVisualStudioは無事インストール終了です。

3. Visual C++ のインストール

8193a4f09ff4e1155d611ca851561dfe - コピー - コピー.png
▲こちらのアプリケーションを起動後、変更を加える許可を要求されるので「はい」を選択。

gr-phpref-dousa-006.jpg
▲このようなインスト―ル画面が立ち上がるので、ライセンスの同意欄にチェックを入れインストールボタンを押せばあとは待つだけです。(画像は2015版になってしまっていますが2017版で大丈夫です)

4. PHPの解凍と設定

では今回のメインであるPHPの設定をしていきましょう。

Ⅰ. ダウンロードしたPHPファイル(zip)の解凍と設置

8193a4f09ff4e1155d611ca851561dfe - コピー - コピー (2).png
▲このzipファイルを右クリックするとメニューが出てきてその中に「解凍」というボタンがあるのでそれを実行します。

35ce9538406a9ce56abb7e9da50a5a48.png
▲するとこのファイルが出てきます、このファイルの名前を「PHP-7.3.0」と書きかえてください。これは今後いろいろな場所からPHPを参照する際にこのファイルの名前を記述するので簡単な名前にしておこうということです。(バージョンが変わったり、もっと簡潔にPHPにしたい方は違う名前でも大丈夫です、ただしこれ以降のPHP-7.3.0の場所をこのファイルにつけた名前と一致させてください)

01fe443c6a42bc341261d0e63ade5c28.png
▲では先ほど名前を変えたファイルをC:直下に設置してください。(C:直下に設置というのは画像の左のメニューバーにあるLocalDisc(C:)にファイルを移動させることです、他のサイトでもよく見かけると思うので覚えておきましょう)


Ⅱ. 設定ファイルの編集

ここではPHPの機能をきちんと使えるようにするため設定ファイルを編集していきます。始めてみると文字だらけのファイルが出てきて抵抗があるかもしれませんがそんなに難しいことはしないので安心してください。

baebc6945436f5efe1441bfaf7593ff3.png
▲メモ帳で開くとこんな感じ、臆せず行きましょう。

今回は2000行を超えるテキストの中から数行改編します。行数とキーワードを書いておくので見つけ出してください。エディッタがあれば行数が表示されるのでそちらで見るといいです、なければ行数は出ませんがメモ帳でも大丈夫です。(バージョンによって行数は変わる可能性があるので参考程度にしてください)

※)エディッタでもメモ帳でも「Ctrl+F」を押すと検索窓が出てきます、そこにキーワードを入力すれば見つけられると思います。(Ctrl+FはWebブラウザなども含め様々な場所で使える最強コマンドの1つなので覚えておきましょう)

ではやっていきましょう。

cea022a683eef63364d2c31803f172d0.png
▲先ほどのファイルを開くとこのように色々出てきます、赤枠で囲った部分は最初php.ini-developmentとphp.ini-productionの2つだけしかありません、php.ini-developmentファイルを右クリックでコピーして複製し、名前をphp.iniに書き換えてください。今回編集するのはコピーしたphp.iniです。

何かミスしたら怖いなという人は僕のようにphp.iniからもう一つコピーを作ってphp.ini~originとでも名前を付けておきましょう。

ではこの名前を変えたphp.iniを編集していきます。

1. extension_dir(750~760行)

拡張DLLファイルの場所を指定しています。(このphp-7.3.0は先ほど書き換えた名前に応じて適宜変更して下さい)

(変更前)

php.ini
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
;extension_dir = "ext"

(変更後)

php.ini
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "C:/php-7.3.0/ext"
; On windows:
extension_dir = "C:/php-7.3.0/ext"

2. Dynamic Extensions(880~945行目)

この項目を下に下がると;extension = bz2から始まり;extensionが無数に続いていると思います。これはphpの拡張機能であり先頭の;(セミコロン)を外すと有効になります。

mbstring - 日本語環境の設定
openssl - sslを有効にする(ローカル環境でLaravelなどのフレームワークや外部データベースにアクセスする際に必要になります)
pdo,sql - データベースにアクセスする際必要になります(メジャーなデータベースは外してあります、他にも使うものがあれば適宜外してください)

(変更前)

php.ini
;extension=fileinfo
;extension=mbstring
;extension=mysqli
;extension=openssl
;extension=pdo_mysql
;extension=pdo_pgsql
;extension=pdo_sqlite


;extension=sockets
;extension=sqlite3

(変更後)

php.ini
extension=fileinfo
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=pdo_pgsql
extension=pdo_sqlite


extension=sockets
extension=sqlite3

3. date.timezone(954~957行目)

タイムゾーンを設定します。

(変更前)

php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = UTC

(変更後)

php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo

これでphp.iniの編集は終了です。保存して閉じてください。


Ⅲ. 環境変数の設定

最後に環境変数の設定でパスを通していきます。これは今後使うであろうコマンドプロンプトでの操作を便利にするために設定します。

まずwindowsにはコマンドプロンプトというコマンドでデータベースやファイルを操作するものがあり、本来PHPの操作をするためにはPHPのファイルの場所まで移動しそこから様々な操作をしなければならないのですが、環境変数からパスを設定するとわざわざPHPのファイルに移動せずどこからでもPHPのコマンドを利用できるのです。

難しければコマンドプロンプトで簡単にPHPを使うために必要な設定とだけ覚えてください。
それでは設定していきましょう。
108d78eeadb60bffc5189367c7614ace.png
▲まず環境変数の設定画面に行きましょう。bit数を確認した画面の右側に赤枠で囲ったシステム情報を開いてください。(windowsの検索窓から環境変数と調べても出てくるのですが、のちに出てくるシステム環境変数の設定ができないのでこのやり方で出してください)

e411ad4de179c19e60b97e2ef379a42c.png
▲左のシステムの詳細設定を開きます。

e54e81bb4e7a8beaf933ec4f9064fb1a.png
▲するとこのウィンドウが出てくるので右下の環境変数を押してください。

d8aec2c6ecf30301babc066e721ee597.png
▲ここから環境変数を設定します、下の段のシステム環境変数(S)のpathをクリックしてから右下の編集をクリックします。

419968a171d522a33b021073480405f5.png
▲このウィンドウが出てくるので右上の新規をクリックします。そうすると新しく入力をする欄が出てきますので赤枠のようにC:php-7.3.0と入力してOKを押してください。間違えた場合はその欄をクリックしてから編集で直すことができます。

こちらもPHPファイルを別の名前にしているならばそれに合わせてください。

これで環境変数の設定も完了です。うまくできているか試してみましょう。


Ⅳ. コマンドプロンプトでPHPを確認してみる

それではコマンドプロンプトでPHPのコマンドが動くか確認してみましょう。

コメント 2019-01-05 135322.jpg
▲windows10はWindowsメニューからWindowsシステムツールを開くと赤枠の様に出てくるのでここから起動してください。今後アプリケーションを作っていく上で必ず使うと思いますのでこれを機に右クリックからスタートにピン留めしてしまうとよいと思います。

bdc22f3ea0deb7aeca30700f453f8853.png
▲ここでphp -vと入力してみてください。phpのバージョン情報が表示されれば成功です!
ついでにphp -r "echo'Hello World';"と入力してみましょう、画像のように表示されるはずです。

PHPはこれで完了です、お疲れさまでした。次で最後ですので頑張りましょう!

5. Apacheの解凍と設定

それでは最後にApacheの設定をしていきましょう。

Ⅰ.ダウンロードしたApacheファイルの解凍と設置

3e73ac168133c55aabfb54380ec446e9.png
▲httpdから始まるファイルがApacheのファイルです。PHPの時と同じようにzipファイル右クリックでを解凍すると一番左のファイルが出てきます。

863b5dc84151bc00a7405f54146b1a64.png
▲解凍したファイルを開くとこのようになっているので中にApache24というファイルが入っているのでこのファイルをPHPの時と同じようにLocalDisk(C:)に移動させましょう。PHP-7.3.0と同じ場所です。


Ⅱ. 設定ファイルの編集

Apache24をC:直下に移動ができたらLocalDiskへと移り、そのままApache24を開いてください。
それではPHPの時と同じく設定ファイルを編集していきましょう。PHPの時と要領は同じです。

8cbf77f690ddf7f97252de0e0abdd9e7.png
744b609abc8d460e939be1b65a4c9f93.png
▲Apache24 を開くと1枚目のようになっているので赤枠のconfファイルを開くと2枚目の様になっています。今回編集するのはhttpd.confというファイルです。今回もバックアップのためにコピーをとっておきましょう。

バックアップを取ったらhttpd.confをエディッタかメモ帳で開いてください。
Apache、PHP、CGI、SSI用の設定があるのですが、わかりやすく上から書き換えていきたいと思うので各設定ごとにはまとまっていないです。

1. LoadModule(74~184行目)

ここの行には無数に#LoadModule ~が並んでいると思うので一番最後の行にLoadModule php7_module "C:/php-7.3.0/php7apache2_4.dll"を書き込んでください.(php-7.3.0はPHPのファイルにつけた名前にしてください)

httpd.conf
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so

(中略)

#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so
LoadModule php7_module "C:/php-7.3.0/php7apache2_4.dll"  ←コレ!


2. ServerName(226行目周辺)

サーバーネームの設定です。#を外してください。

(変更前)

httpd.conf
#ServerName www.example.com:80

(変更後)

httpd.conf
ServerName www.example.com:80


3. AllowOverride(233~236行目周辺)

アクセス制限を解除します。後々必要になってくると思うので今のうちにやっておきましょう。
AllowOverrideはいくつかありますが先ほど設定したServerNameのすぐ下のものです。

(変更前)

httpd.conf
<Directory />
    AllowOverride none
    Require all denied
</Directory>

(変更後)

httpd.conf
<Directory />
    AllowOverride All
    Require all granted
</Directory>


4. Options Index(264行目周辺)

1行目はcgiを動かすために、2行目はsslを動かすために必要です。

(変更前)

httpd.conf
Options Indexes FollowSymLinks

(変更後)

httpd.conf
Options Indexes FollowSymLinks ExecCGI
Options +Includes


5. IfModule mime_module(398~444行目周辺)

拡張子(.php .phps .cgi .pl)の登録です。今後必要になるかもしれないのでphpだけではなくcgiとplも登録しておきましょう。

# AddType allows you to add to or override the MIME configurationのすぐ上、406行目辺りに書いてください。

httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl


6. AddHandler,AddType(431~443行目周辺)

こちらも拡張子の設定です。#がつけられているので外してその下にPHPの設定も書いておきましょう。

(変更前)

httpd.conf
#AddHandler cgi-script .cgi

(中略)

#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml

(変更後)

httpd.conf
AddHandler cgi-script .cgi .pl
AddHandler php7-script .php

(中略)

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml


7. PHPIniDir

このファイルの最後にこの1行を書き加えておいてください。PHPの設定した際に編集したphp.iniファイルのパスを指定します。

httpd.conf
PHPIniDir "C:/php-7.3.0"

これで設定ファイルの編集は終了です。保存して閉じてください。


Ⅲ. Apacheの起動の確認

それではApacheを起動させてみましょう。Apache24フォルダへと戻り一番上の「bin」というファイルを開いてください。

fa0781713a0dc0593d8eca4329f4144f.png
▲下の「httpd.exe」をダブルクリックして開くだけでも起動はできますが、今後再起動などが必要になったときのためにモニターから操作しましょう。「ApacheMonitor.exe」ダブルクリックしてください。

623c48c7617df10d60f7a58694eb3a4d.png
▲するとWindowsの右下に直接、または^に折りたたまれて赤枠で囲んだアイコンが追加されます。右クリックをすると「Open Apache Monitor」と「Open Service」が出てくるので「Open Apache Monitor」をクリックしてください。

b7f0219f043c586dfbfe286fde1aa17d.png
▲このようなモニターが開きます。Apache2.4の隣のランプが赤くなっていますがこれは停止状態ということです。赤枠のStartを押すとランプが緑に変わるのでOKを押して閉じましょう。

a9d86d9cfc152a812f30f46614b2175b.png
▲Internet Explorerなどのブラウザを起動し、http://localhost/にアクセスします。It works!と出れば無事Apachの起動も成功です!


Ⅳ. PHPファイルを実行

いよいよ最後です。phpファイルを実行してみましょう。

df7a41c75daaf67e549b121e6ef30dc9.png
▲Apache24フォルダに戻り「htdocs」を開いてください。この中で右クリックから新規作成を押すとテキストドキュメントという項目が出てくるので「test.php」という名前にします。
このファイルを開き以下のように記述して保存します。

test.php
<?php
phpinfo()
?>

3d242b8ababf6d38ae11de09e0a49299.png
▲先ほどと同じようにInternet Explorerなどのブラウザを起動し、http://localhost/test.phpにアクセスします。画像のようなphpの詳細情報が表示されれば正常にPHPが起動しているので環境構築成功です!

お疲れさまでした!

最後に

PHPの環境構築の段階でつまずいて時間ややる気を奪われるのは大変もったいないのでできる限り簡単に解説をしました。分かりやすく書いたつもりですが、難しい点や間違えている点があれば教えていただけると助かります。

また皆さんPHPで作りたいものがあって環境構築をしたのだと思います。これでスタート地点に立つことができたのでぜひ作りたいものに向けて頑張ってください。

次はローカル環境でアプリケーションを開発する際に欠かせないMySQLの導入について書ければと思います。

narito
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした