PHPの動作環境を構築するXAMPP

XAMPPでPHPの動作環境を構築してみます

HTML Editer
Webシステムを構築する手法として、PHPを使用する場合が多々あると思います。当サイトのコンセプトとして自らがプログラムを書いて動作させるということは想定していませんが、ちょっとしたメッセージを変更したいとか、エラーが発生した時になにか手掛かりを探す場合には、少しだけでもプログラムが読めるといいかと思います。今回はちょっと学んでみようかな?ちょっと触ってみようかな?というレベルでPHPを動かすことができる環境を簡単に構築する。を目的にXAMPPを取り上げてみます。
実際にシステムとして作られているPHPは、ちょっと見てみようかな?では、なにも判らないですが、まったく見たこともないとは違います。

(ザンプと読むようです)

PHPはWebブラウザからアクセスして実行するためWebサーバが必要になります。Webサーバも多種存在していますが、メジャーで情報もたくさんあるApacheとPHPをインストールことが多いのではないでしょうか。さらにWebシステムと考えるとデータベースも必須と言っていいのではないでしょうか。MySQLやその互換データベースであるMariaDB、あるいはPostgreSQLやSQLiteなどのデータベースサーバもインストールして環境を構築していると思います。これらをバラバラにインストールすればいいのですが、少し面倒じゃないですか?
Apache+MariaDB+PHPをワンパッケージにしたアプリケーションがXAMPPです。

XAMPPはWindows、、Linuxの各OSに対応していて、簡単に環境を構築することが可能です。XAMPPはもともとLAMPPと呼ばれるLinux+Apache+MySQL+PHP+Perlの頭文字を取ったものが、対応OSにWindowsとMacも加えてクロスプラットフォーム化したところから、Linuxの「L」をクロスの「X」に変更して現在の名称になったそうです。

PHPとは

PHPは正式名称を「PHP:Hypertext Preprocessor」といい、C言語で書かれたオープンソースのスクリプト言語です。他の言語にはないPHPの特徴は、Webアプリケーションにフォーカスした言語であるということです。
例えば、HTMLの中にPHPで記述した内容を埋め込めるとか、実行環境をWebサーバに組み込むことができるため高速に動作するなどです。逆に、WebではなくGUIアプリケーションは基本的には作ることができないことも特徴かもしれません。
HTMLとの親和性が高く、データベースなど外部のシステム対応もでき、WordPressなどのCMSにも使われています。

PHPバージョン

2018年3月現在、PHPはバージョン7.2系列が最新で、2018年2月1日に7.2.2がにリリースされています。
現在サポートされている系列は、5.6.x、7.0.x、7.1.x、7.2.xで、5.6.xは2018年末までセキュリティサポートのみ提供されています。

XAMPP環境の構築

XAMPPのダウンロードページにアクセスして、インストールするOSに合わせたインストールパッケージをダウンロードします。Windows向け、Linux向け、OS X向けと各OS向けのXAMPPがダウンロードできるようになっています。他にもWordpressなどと一括でインストールできるパッケージが用意されています。

ダウンロードサイト
https://www.apachefriends.org/jp/index.html
XAMPP
該当OSの7.1系列のダウンロードボタンをクリックしてダウンロードします。

ダウンロードしたファイルを使ってインストールを行なっていきます。
申し訳ありませんが、ここではWindows、Macついてインストール方法を記載していますが、実際にはWindowsでのみ実機確認しています。

Windowsの場合

操作手順に画面キャプチャが無く申し訳ありません。

  1. ダウンロードしたファイルをダブルクリックしてインストーラーを起動します
  2. 起動時にWindowsのユーザーアカウント制御ダイアログが表示された場合には、[はい]ボタンをクリックして続行します
  3. 起動直後に以下のアンチウイルスソフトへの警告が表示された場合
    アンチウイルスソフトが起動状態でインストールを行うと、インストールに時間がかかる可能性があることが書かれています
    内容を確認して[Yes]ボタンをクリックして続行します
  4. 注意ダイアログが表示されます
    UAC(ユーザーアカウント制御)環境下では権限の関係上「C:\Program Files (x86)」へのインストールは避けるように記載されています
    内容を確認して[OK]をクリックします
  5. インストールウィザードが起動します
  6. 各画面ともデフォルトのまま、[Next]ボタンをクリックしてインストールします
  7. 途中でWindowsファイアウォールの警告が表示された場合は[アクセスを許可する]ボタンをクリックします
  8. インストールが完了したら[Finish]ボタンをクリックします
  9. 言語の選択画面が表示されます
    星条旗の方を選択して[Save]ボタンをクリックします
  10. XAMPP Control Panelが起動します
    XAMPP Control PanelではApacheやMariaDBなどのサーバソフトウェアの起動や終了、設定などの管理を行えます
  11. xampp control panel

インストールは完了です。XAMPP Control Panelはスタートメニューの[XAMPP]の中にショートカットが格納されています。そこから起動できます。

Macの場合

<

ol>

  • ダウンロードしたファイルはdmgファイルをダブルクリックして展開します
  • 展開すると、中に「XAMPP.app」という名前のインストーラがあるので、それをダブルクリックで起動します
  • OSから以下のようなパスワードを求められるダイアログが表示されます
    管理者ユーザーのログインパスワードを入力します
  • インストールウィザードが起動します
  • 各画面ともデフォルトのまま、[Next]ボタンをクリックします
  • インストールが完了したら[Finish]ボタンをクリックします
  • 自動的にApplication Managerが起動します。

    Application Managerは、WindowsのXAMPP Control Panelに当たるツールです。
    これでインストールは完了です。Application Managerは、LaunchpadのXAMPP(その他)の中にエイリアスが格納されているので、そこから起動できます。

    Linuxの場合

    Linuxでは、OSの標準パッケージをインストールすればApache+PHP+MariaDB(もしくはMySQL)環境がリポジトリの追加なくインストールも可能です。XAMPPを使っても使わなくてもそれほど変わらないため、ここでは記載していません。
    標準リポジトリではPHPが5.4.16なので、そのままではサポートが終了しているバージョンがインストールされます。

    XAMPPでインストールされるパッケージ(モジュール)

    XAMPPをインストールすると、次のパッケージ(モジュール)がインストールされます。

    • Apache: Webサーバ
    • MySQL(MariaDB): データベース
    • FilleZilla: FTPサーバ
    • FakeSendmailとMercury: Mailサーバ
    • Webalizer: Apacheのログ解析
    • TomCat: Javaサーブレットコンテナ
    • PHP: プログラム言語
    • Perl: プログラム言語

    Apacheを起動

    まずはWebサーバのApacheを起動してみます。

    • WindowsであればXAMPP Control Panelを起動してApacheをStartします
      スタートした状態のXAMPP Control Panelは次のようになります
    • xampp control panel

    • MacであればLaunchpadからXAMPPを起動してApacheをStartします
    • Linuxは通常のWebサーバとして構築していますので、systemctl start httpd.service などで開始します

    Apacheを開始したら、Webブラウザから http://localhost/ もしくは http://IPアドレス/ または http://ホスト名/ などにアクセスしてみます。※http://ホスト名/ はDNSやhostsで名前解決している必要があります。
    WindowsやMacでは、以下のような表示されれば、Apache Webサーバが動作しています。
    xampp
    Linuxの場合は、通常のApache Webサーバなので、以下のように表示されれば動作しています。
    Apache CentOS7

    PHPの動作確認

    PHPの動作確認は、PHPのスクリプトを記述した.phpファイルを作成して動作させてみます。.phpファイルを作成する、もしくは配置する場所は次の場所(デフォルトであれば)になります。ここがDocument Rootになります。

    • : C:\xampp\htdocs\
    • Mac: /Application/XAMPP/htdocs/
    • : /var/www/html/

    作成したファイルをブラウザからアクセスして表示を確認します。http://localhost/xxx.php もしくは http://IPアドレス/xxx.phpのように指定します。
    正直に言えば、配置する.phpファイルの内容は動けばなんでもいいのですが、良くあるパターンとして2つ紹介します。
    ※CentOS7(バージョンは関係ないかも)の場合はSELiuxを停止するか正しく設定しないとpermission deniedになりました。

    Hello World!と表示する

    なにかとプログラムの始めとして紹介される Hello World! と表示するパターンです。ブラウザでの結果は下記のようになるハズです。

    <?php 
    print("Hello World!"); 
    ?>
    

    xampp

    phpinfoを表示する

    phpinfoはPHPの情報を出力するもので、PHPの動作確認では良く使われているものです。ブラウザでの結果は下記のようになるハズです。

    <?php
    phpinfo();
    ?>
    

    PHP

    MariaDBの起動と初期化

    1. XAMPP Control Panelを起動してMySQLをStartします
    2. xampp control panel

    3. Windowsファイアウォールの警告が表示された場合は[アクセスを許可する]ボタンをクリックします
    4. Webブラウザを開きhttp://localhost/phpmyadmin/index.phpにアクセスします
    5. [データベース]タブをクリックします
    6. xampp control panel

    7. データベースを作成する項の[データベース名]にデーベース名を入力(任意のもの)して[作成]ボタンをクリックします
    8. xampp control panel

    9. テーブル名(任意のもの)、カラム数を入力して[実行]ボタンをクリックします
    10. xampp control panel

    11. カラムの設定等を入力して[保存]ボタンをクリックします
      ここでは設定について割愛します
    12. xampp control panel

    MariaDBが動いていることを確認できました。必ずしもphpmyadminを使用する必要はありません。

    PHPの基本の基本な書き方

    PHPの書き方をホントに少しだけ。サンプルとして[Hello World!と表示する]項のPHPを参照してください。

    • PHPは<?phpから?>の間に記述します。
    • 文の区切りは ; を挿入します
      下記は1つの命令だけなので区切ると言われてもイメージが湧かないかもしれません
    • print("Hello World!"); 
      

      複数の命令があると少しイメージが湧きます

      print("Hello World!1");
       print("Hello World!2");
      
      print("Hello World!3"); 
      

      こうると文の区切りという意味が判ると思います

      print("Hello World!1");print("Hello World!2");print("Hello World!3"); 
      
    • 空行や空白は無視されます
      上記の例で敢えて空行や空白をいれいますが、ブラウザでの表示は変わらないことをためしてみてください。
    • コメント行を入れるには先頭に#か//を入れる1行コメントと /*から*/の間にコメントを記述する複数行コメントがあります
    • //1行コメントのやり方その1
      print("Hello World!1");
      # 1行コメントのやり方その2
       print("Hello World!2");
      /*複数行コメントが
      こんな
      感じ*/
      print("Hello World!3"); 
      

    以上で、とりあえずPHPが動作する環境を構築できました。実際には、ここからPHPを動作して確認するために、動作するシステムに合わせた設定必要になります。