PHP/開発環境/インストール

ここでは、PHPの内蔵サーバーではなく、フルセットのウェブサーバー・PHP処理系・RDBMSを連携させる設定を紹介していますが、学習目的にはハードルが高く、何よりもこのセットアップができる人は、既に相応のPHPに関する知識があることを前提にしているため、矛盾があります。

PHPがサーバ側の技術であるため、利用者は、開発または学習のためにサーバ環境をセットアップする時間が必要となります。もちろんクライアント環境で開発をする場合は、クライアント環境に開発環境を用意する必要があります。Java言語のようにサーバ側の環境設定がとても複雑であるのに比べ、PHPはかなりセットアップが容易です。

インストールの手順は、Webサーバの環境(OS)によって異なります。既に作られたPHPをインストールする方法から、ソース(オリジナルのプログラム)を入手して実行可能なPHPを作るまで、条件によっては様々です。

PHPと併せてデータベース(たいていはMySQLや互換DB)も利用することが多く、バージョンの組み合わせによっては動作が異なる場合があります。

構成 編集

PHPでデータベースのサーバ構築をした場合、必要になるパッケージは以下のものとなります。

  • Apache(アパッチ)がwebサーバーとして必要, またはメジャーな
  • PHP
  • MySQL(マイ エスキューエル)がデータベースとして必要, またはメジャーなデータベース
  • PHPとデータベースに接続するライブラリ

XAMPPは、これらをまとめたパッケージで、apachefriends.org というコミュニティの提供しているウェブアプリケーションの実行に必要なオープンソースソフトウェアをまとめたパッケージです。

名前の由来
文字 意味
X クロスプラットフォーム
A Apache HTTP Server
M MariaDB
P PHP
P Perl

同じく、ウェブアプリケーションの実行に必要なオープンソースソフトウェアをまとめたパッケージに LAMP がありますが、こちらはプラットホームにGNU/Linuxが使われています。

Windows版 編集

Windowsでのインストールは、XAMPPを使用するのが簡単です。公式サイトからインストーラーをダウンロードして実行するだけで済みます。

GNU/Linux 編集

なお、下記の手順でインストールしなくても、XAMPPでインストールすれば、ほぼ同じ結果が得られます。

ディストーションによって、インストール時に使用するコマンドが異なるため、以下のようなコマンドを使用します。

Redhat系 編集

FedoraとCentOSは、レッドハット系のOSです。 Fedoraの公式コミュニティのソフトウェア集(パッケージアーカイブ)にはXAMPPは登録されていませんので、自分で取得する必要があります。 それが面倒であれば、以下のようにApache(httpd)やphpを直接インストールする方法があります。 各ディストリビューションにおいて、必ずしも同じコマンドではありませんが、基本的にはdnfでインストールできます。

sudo dnf install httpd
sudo dnf install php
sudo dnf install mysql
sudo dnf install php-mysql

なお、一般にhttpd (Apache)はFedoraに最初からインストールされています。

Debian系 編集

UbuntuとDebianはDebian系のディストリビューションです。

apt-get install php5
apt-get install apache
apt-get install mysql-server  mysql-client php5-mysql

または、以下のように1つのコマンドでまとめてインストールすることもできます。

apt-get install php5 apache mysql-server  mysql-client php5-mysql

Gentoo 編集

emerge apache
emerge mysql
emerge mod_php

Linux版XAMPP 編集

Linux版XAMPPのインストールは、やや手間がかかります。

ディストリビューション(UbuntuやFedoraなど、Linuxをカーネルとしたパッケージ群の種類)によって異なりますが、それぞれのディストリビューションの公式パッケージアーカイブにはXAMPPは含まれていません。 したがって、apt-getやdnfなどのパッケージマネージャーではLinux版XAMPPをインストールできません。

そのため、XAMPP公式サイトからLinux版のインストーラーをダウンロードする必要があります。 公式サイトにはLinux版のインストーラーがありますので、まずはそれを何らかの方法でダウンロードします。 ネット上ではwgetコマンドなどを使用してダウンロードする方法が紹介されていますが、

GUIやWebブラウザが使える環境であれば、wgetコマンドを使わずに普通のWebブラウザのクリック操作でインストーラーをダウンロードしてもよいです。 しかし、インストール自体はコマンド端末で行う必要があります。

まず、実行権を付与する必要があるため、たとえば「chmod」コマンドを使用して以下のように権限を付与します。

chmod +x ./xampp-linux-x64-7.4.5-0-installer.run

「x64-7.4.5-0」の部分はバージョン番号であり、時期によって変わる可能性があるため、ダウンロードしてきたものに合わせて適宜変更してください。

インストーラーを起動します。

sudo ./xampp-linux-x64-7.4.5-0-installer.run

インストーラーが起動したら、いくつかの質問が表示されるので、「NEXT」ボタンを押していくと、インストールが開始されます。

インストールが完了したら、XAMPP自体は起動可能です(ただし、まだXAMPP用Apacheのライブラリなどがインストールされていない可能性があります)。XAMPPを起動するには、以下のようにコマンドラインで入力します。

/opt/lampp/lampp

Linux版XAMPPのGUI画面は、Windows版とは画面構成が異なる場合がありますが、「Start」で目的のツールを起動し、「Stop」で終了する仕組みは同じです。

Fedora 32では、ライブラリ「libnsl」が初期状態ではインストールされていないため、XAMPP版Apacheの起動エラーが発生する可能性があります。 その場合は、以下のようにライブラリをインストールする必要があります。

sudo dnf install libnsl

これで、localhostでWebサーバが稼働したのでローカルのブラウザで閲覧可能になりました。

さて、XAMPP版Apacheを起動できたと思ったら、確認のためにウェブブラウザのアドレス欄に「localhost」と入力してみましょう。

すると、XAMPPのページが表示され、「XAMPP Apache + MariaDB + PHP + Perl」という文言がウェブページの冒頭に表示されます。 これにより、XAMPP版Apacheの起動が成功していると思われます。

また、このXAMPP版Apacheのメインページからは、phpMyAdminを起動することもできます。

さて、XAMPPのフォルダは、「lampp」という名称であり、以下の場所にあります。

/opt/lampp

また、ドキュメント・ルートとして使用する場合には、以下の場所にアクセスする必要があります。

/opt/lampp/htdocs

ソースコードからPHPをインストールしたい場合 編集

ソースコードからPHPの最新版やテスト版などをビルドする前には、まず古いバージョンのPHPをアンインストールしてからにしましょう。

Ubuntuでのインストール方法は、公式ソースファイルのreadmeに書いてありますが、Fedoraでの方法を本書で示します。

まず、cdコマンドで現在のディレクトリをダウンロードしたPHPソースファイルに移動します。

例えば、cd ダウンロード と打ち、その後 cd php-バージョン番号 と入力します。

また、コンパイルに必要なアプリケーションのインストールが必要です。次のコマンドを実行して、必要なパッケージをインストールします。 sudo dnf install libxml2-devel libsqlite3x-devel bison re2c autoconf make Ubuntuではlibxml2-devですが、Fedoraでは「-devel」という接尾辞が必要になることに注意してください。他のアプリも微妙に名前が異なるため、注意が必要です。

上記のツールはビルドの前にインストールしておく必要があります。これらをインストールしないと、ビルドが失敗するだけでなく、誤ったmakeファイルなどが残ってしまい、以降のビルドも失敗してしまう可能性があります。誤ったmakeファイルが作成された場合は、

sudo make clean all test

を実行してください。

また

sudo dnf groupinstall "Development Tools"

でグループインストールします。

その後、PHPのソースファイル内で、 たとえば、

[ユーザー名@localhost php-8.0.0]$ 

のような状態で(バージョン番号は、ダウンロードしたときのPHPのバージョンによって異なる)、コマンド

   ./buildconf

を実行します。

つづけて、コマンド

   ./configure

を実行します。

もし、エラーが出たら、不足しているアプリ名が「not found」などのメッセージとともに表示されるので、その不足アプリを dnf install コマンドなどでインストールしてから、再度、 ./configure を試します。

./configure コマンドのあと、最終的に

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE. By continuing this installation  |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

のようなライセンス表示がされたら、概ね./configure には成功なので、次の工程に移ります。

Fedora では初期状態では make アプリがインストールされていないので、まず先に dnf コマンドで make アプリ自体をインストールする必要があります。

sudo dnf install make

その後、現在ディレクトリ位置が

[ユーザー名@localhost php-8.0.0]$ 

のようである事を確認した上で、make コマンドで、

sudo make all install

このコマンドが終了するのに数分かかるので、本でも読みながら待ちましょう。

ビルドが失敗する場合、いくつかの原因が考えられます。

  1. まちがったmakeファイルが残っている。
  2. ストレージ不足。
  3. メモリ不足。

もし、まちがったmakeファイルがある場合、

sudo make clean test

とします。

メモリ不足の場合は、GUI環境を終了し、CTRL-ALT-F2でコンソールからログインし作業します。

さて、インストールに成功したら(成功したと思ったら)、コマンドで

php -v

でバージョン番号を表示してみて試します。

PHP 8.0.0 (cli) (built: Dec 13 2020 16:50:51) ( NTS DEBUG )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies

のようにバージョンなどが表示されれば、ひとまずインストール成功です。

Apacheでは古いバージョンのPHPが参照している可能性がるので、適宜Apacheの設定を編集し新しくインストールしたPHPを参照するようにしましょう。

Enjoy!