PHPの環境構築をしたいんだけど、
いまいち標準がよくわからない。
PHPの定番な開発環境って何?
あまり環境にパッケージは使いたくないんだけど……
みなさんはPHPの環境構築について、上のようなお悩みをお持ちではないでしょうか?
特に他言語での経験がある人はPHPの環境構築で「適当にやったらうまく行かずにドツボにはまってしまった」「いまいち定番どころがわかりにくい」といった問題にぶつかることが多いようです。
そこで、この記事ではPHPの定番の環境構築方法であるXAMPPの紹介と、XAMPPのメリット・デメリットを紹介します。さらに、XAMPPをどうしても使いたくない方向けにXAMPPを利用しない方法もお伝えしていきます。
この記事を読めば、PHPの学習を始めるのに問題ない環境をすぐに構築できるようになるでしょう。
なお、次の記事ではそもそもPHPとはどんなプログラミング言語なのか、その特徴をできることや将来性も交え詳しく紹介しているので良ければ参考にしてください。
→ PHPとは何かわかりやすく解説!できることや将来性、学習方法も紹介
PHPのローカル環境構築ならXAMPP
まずは、PHPの定番学習環境の紹介からいきます。PHPというと、真っ先にあがるのがXAMPP(ザンプ)でしょう。
XAMPPはPHPの実行に必要なローカルサーバーのApache、データベースのMariaDB、PHPの本体がパッケージになった統合環境構築ツールです。
それぞれの頭文字を取ってXAMPP(Apache、MariaDB、PHP)なんですね。Xともう一個のPは何なのかというと、XはクロスプラットフォームのX、Pは今となってはマイナーな感のあるPerlのPです。
クロスプラットフォームということで、WindowsだろうとmacOSだろうとLinuxだろうと関係なく動かすことができます。なので、一度使い慣れるとどの環境でも使い回せる、というのは大きなメリットですね。
まあ、macOSにはXAMPPと同じような方向性のMAMPというツールが有り、こちらのほうが若干人気が高い感じです。またLinuxの場合、わざわざXAMPPを使わなくてもデフォルトでApacheやMySQLが動くことが多いので、あまり出番はないかもしれません。そのため、Windowsユーザーが一番多いでしょう。
ちなみに、MariaDBなんて聞いたことないぞ? という方もいるかも知れませんが、これはMySQLと同じもの、という認識でOKです。
元々MySQL開発の指導的な立場に居た人が会社と喧嘩別れして、新しく作ったDBシステムという経緯があるため、MariaDBはほとんどMySQLと同じ感覚で使うことができます。MariaDBもOSSなので、使用に関して悩むこともありません。
インストールに関してはこちらの記事で詳しくまとめてありますので、ぜひご覧ください。
次の章ではXAMPPを使う上でのメリット・デメリットを見ていきます。
XAMPP利用時のメリット・デメリット
この章ではXAMPPを利用することのメリット・デメリットを見ていきましょう。
メリット
実際にインストールしていただけるとわかると思いますが、XAMPPはインストール自体にほとんど手間がかかりません。インストーラのNextボタンをポチポチ押していくだけでインストールが完了します。
これだけで、プログラミング言語の環境構築につきもののパス通し、環境変数の設定がすべて完了します。
みなさんも何かしらの環境構築で、環境変数の設定などでドツボにはまった経験はないでしょうか? 筆者は割と細かい設定が苦手なので、環境構築では高確率で最低1回はドツボにはまります。
XAMPPはこの点で、注意力のない筆者のような人間にとてもありがたいパッケージになっております。また、環境変数などの設定に慣れていない初心者でも問題なく環境構築ができるので、プログラミングを教えるときに非常に便利です。
聞いた話ですが、どこぞのプログラミングセミナーは、下手をすると半日ぐらい環境構築に時間を割くことがあるのだとか。それだけ多くの初心者相手に環境構築をさせるのは難儀だということでしょう。
インストールをして、コントロールパネルを立ち上げ、Apacheのスタートボタンを押せば、これだけでローカルサーバーが立ち上ってアクセスできるようになります。この速度感は他には代えがたいメリットでしょう。
デメリット
では、逆にデメリットはというと、XAMPPがパッケージのソフトである、ということです。つまり、XAMPPをインストールすると、ほぼ自動的にApache、MariaDB、PHPのバージョンが一律に固定されてしまいます。
これの何が問題なのかというと、例えば複数のPHPのプロジェクトを抱えている人が、片方は最新のApacheにPHP7.1を使って、もう片方はApache2.2系を使って、PHPは5を使いたい、なんて状況に合わせるのが難しいのです。
PHPはバージョンによってかなりできることが変わるので、できる限り開発先と同じバージョンで開発したいところです。ですが、XAMPPをつかうと柔軟なバージョン変更が行えないわけです。これは、バージョン管理がかなり柔軟にできるRubyやPythonのユーザーから見ると、非常に不便に映るようですね。
一応、XAMPPをバージョン違いで共存させるような方法もあるので、不可能ではありません。ですが、バージョンを自由に組み合わせることができない、というのはXAMPPの一番のデメリットでしょう。
また、XAMPPの問題とは若干ずれますが、ローカルと本番環境の違いが問題になるケースも時々あります。この点を嫌って、ローカルであっても実際にLinuxサーバを立てて開発すべきだ、という主張をする人もいます。ここらへんは環境とチームメンバーの考え方に依る部分でしょうね。
そこで、次の章では各アプリケーションを1つずつインストールしていく方法を紹介します。
0からローカル開発環境を構築する方法
この章ではPHPのローカル環境をXAMPPを使わずに0から構築する方法を紹介していきます。
まずはPHPをインストールしましょう。今回はWindowsに絞って見ていきます。というのも、macOSはデフォルトでPHPが入っていますし、Linuxはyumやaptで割と簡単にインストールできてしまうので、説明する部分がほとんどないためです。
PHP For Windows ⇨https://windows.php.net/download#php-7.3
バージョンごとにZipファイルが置いてありますので、使いたいバージョンのファイルをダウンロードしましょう。
Non Thread SafeとThread Safeという区分がありますが、とりあえずThread Safeを選んでおくと後々安心ですね。Apacheと組み合わせるならばThread Safeという考え方でOKです。
32bit版と64bit版の違いもありますので、ご自身のOSに合わせて選択してください。また、PHPの実行にはVisual C++ ランタイムが必要です。インストールされていない方はこのタイミングでインストールしておきましょう。
PHP 5.5と5.6の実行には、「Visual Studio 2012 更新プログラム 4」 の Visual C++ 再頒布可能パッケージが必要です。
Microsoft ダウンロードセンター
https://www.microsoft.com/ja-JP/download/details.aspx?id=30679
PHP 7以降には、「Visual Studio 2015」 の Visual C++ 再頒布可能パッケージが必要です。
Microsoft ダウンロードセンター
https://www.microsoft.com/ja-JP/download/details.aspx?id=48145
これらはVisual Studioなどをインストールした際に同時にインストールされていることも多いので、いつの間にかインストール済みだったりするかもしれません。
続いてPHPを解凍してパスを通していきましょう。今回はCドライブ直下にphp-7.3.5というフォルダを作り中身を解凍しました。
なお、最近のWindowsの面倒なポイントですが、ZipファイルをCドライブ直下に移動して、その場で解凍する際に管理者権限が必要な場合があります。事前に解凍してフォルダを貼り付けると問題が発生しないようなので、ここで詰まっている方はC直下で解凍しない、ということを試してみてください。
解凍しましたら、解凍先のフォルダの中からphp.ini-productionというファイルを探してください。これがPHPの設定ファイルの大本になります。このファイルのコピーを作成し、ファイル名をphp.iniに変更します。これで設定ファイルの作成は完了です。
次に環境変数の設定です。
[Windows]キー+[Pause/Break]キーでコントロールパネルのシステムを開くことができます。そこから「システムの詳細設定」を選ぶとシステムのプロパティウインドウが開きます。
システムのプロパティウインドウが開いたら、一番下の環境変数ボタンをクリックして環境変数ウインドウを開きます。
既にある変数のPathにPHPのフォルダのパスを追加します。今回はC直下にphp-7.3.5というフォルダ構成なので、C:\php-7.3.5を追加しました。
コマンドプロンプトからphp -vを入力して、以下のようにバージョンが表示されれば成功です。
これで、基本的なPHPの開発ができるようになりました。PHPの開発にはサーバが必要なんじゃないの? と思う方もいるかも知れませんが、PHPには5.4.0から内蔵のWebサーバが付属しています。そのため、PHP単体で開発をすることが可能なのです。
使い方は、コマンドプロンプトで以下のコマンドを入力して、ブラウザからlocalhost:8000に接続すればOKです。
php -S localhost:8000
以下のコマンドでドキュメントルートを任意のフォルダから始めることができます。デフォルトだとユーザーフォルダ直下がドキュメントルートになります。
php -S localhost:8000 -t パスを記述
これで、とりあえずのPHP開発は可能になりました。
ただ、ビルトインサーバはシングルスレッドプロセスしか実行できないので、リクエストがブロックされると固まります。あくまでも学習用・テスト用環境と割り切りましょう。
Apacheが必要な場合は以下のサイトからバイナリ配布サイトを選んでダウンロードしてきてください。Apache公式でWindows向けのバイナリ配布は終了してしまったようなので、サードパーティ製のバイナリをインストールする必要があります。
Using Apache HTTP Server on Microsoft Windows http://httpd.apache.org/docs/current/platform/windows.html#down
データベースが必要な場合は、以下のサイトからインストーラをダウンロードしてきて、インストールできます。
MySQL on Windows
https://dev.mysql.com/downloads/mysql/
ここまで準備すれば不自由なくPHPを開発することができるでしょう。
まとめ
いかがでしたか?
今回はPHPの環境構築にトライしている方向けに、XAMPPを使った方法とそのメリット・デメリット、そしてXAMPPを使わないでPHPの開発環境を構築する方法をお伝えしました。
この記事でPHPの環境構築につまずく方が少しでも少なくなれば嬉しいです。
お相手は休日を環境構築で潰したことも数知れない平山がお届けしました。