「PHP/開発環境/インストール」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
編集の要約なし
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
校閲と推敲
タグ: 2017年版ソースエディター
 
1 行
;ここでは、PHPの内蔵サーバーではなく、フルセットのウェブサーバー・PHP処理系・RDBMSを連携させる設定を紹介しいますが、学習目的にはハードルが高く、なによりこのセットアップができるひとは、既に相応のPHPに関する知識があることを前提にしていることにため、矛盾があります。
{{Main|PHP/開発環境#内蔵ウェブサーバーを使ってみる}}
 
PHPがサーバ側の技術であることからため、利用者は、開発または学習のためにサーバ環境をセットアップする時間が必要となります。もちろんクライアント環境で開発をする場合はクライアント環境に開発環境を用意する必要があるでしょうります。Java言語のようにサーバ側の環境設定がとても複雑であるのに比べ、PHPはかなりセットアップしやすいが容易です。
 
インストールの手順はWebサーバの環境(OS)(OS)によって違ってき異なります。既に作られたPHPをインストールする方法から、ソース(オリジナルのプログラム)を入手して実行可能なPHPを作るまで、条件によっては様々です。
 
PHPと併せてデータベース(たいていはMySQL)MySQLや互換DB)も利用することが多く、バージョンの組み合わせによっては動作が違ってき異なる場合があります。
 
== 構成 ==
15 行
* PHPとデータベースに接続するライブラリ
 
XAMPPは、これらをまとめたアプリパッケージで、apachefriends.org というコミュニティの提供しているサーバー環境ウェブアプリケーションことです。(「XAMPP」は実行に必要なオープンソースソフトウェアをまとめたパッケージです。
 
:{| class="wikitable"
: 「XAMPP」の2文字目「A」はApacheの頭文字Aのことです。
|+ 名前の由来
: 「XAMPP」の3文字目「M」はMySQLの頭文字Mのことです。
! 文字
: 「XAMPP」の後ろ2文字の「P」は、PHPなどのことです。
! 意味
|-
| X
| クロスプラットフォーム
|-
| A
| Apache HTTP Server
|-
| M
| MariaDB
|-
| P
| [[PHP]]
|-
| P
| [[Perl]]
|}
 
同じく、ウェブアプリケーションの実行に必要なオープンソースソフトウェアをまとめたパッケージに LAMP がありますが、こちらはプラットホームにGNU/Linuxが使われています。
なお、LAMPとは、これらにLinuxを加えたものの事です。サーバー設置は、OSの費用の節約などの理由により、Linuxを使うことが多くあります。
 
単にwebサーバ構築をするだけなら、ApacheとPHPだけでも可能です。(プログラミング言語をPHP以外にすればPHPがなくても可能だが(CGI)、やや難しい方法になる。)
 
== Windows版 ==
Windowsでのインストールは、XAMPPを使用するのがラク簡単ある単に公式サイトからインストーラーをダウンロードしてきて実行すればいいるだけで済みます
 
== GNU/Linux ==
なお、下記の手順でインストールしなくても、XAMPPでインストールすれば、ほぼ同じ結果が得られます。
 
ディストーションによって、インストール時に使用するコマンドが異なるため、以下のようなコマンドを使用します。
== Linux ==
なお、下記の手順でインストールしなくても、XAMPPでインストールすれば、ほぼ同じ結果になります。
 
Linuxの種類によって、インストール時に使用するコマンドが違うので、下記のようなコマンドになります。
 
=== Redhat系 ===
Fedora(フェドラ)FedoraCentOS(セント オーエス)がCentOSは、レッドハット系のOSです。
Fedoraの公式コミュニティのソフトウェア集(パッケージアーカイブ)にはXAMPPは登録されていませんので、自分で取得する必要があります。
 
それが面倒であれば、以下のようにApache(httpd)やphpを直接インストールする方法があります。
Fedora の公式コミュニティのソフトウェア集(パッケージアーカイブ)には、xamppは登録されていませんので、自分で持って来る必要があります。
各ディストリビューションにおいて、必ずしも同じコマンドではありませんが、基本的にはdnfでインストールできます。
 
それが面倒なら、下記のように、直接 Apache(httpd)や php をインストールするという方法もあります。
 
各ディストリビューションにおいて、必ずしも同じコマンドでもありませんが、基本的にdnfでインストールできます。
<syntaxhighlight lang="console">
sudo dnf install httpd
48 ⟶ 60行目:
sudo dnf install php-mysql
</syntaxhighlight>
なお、一般にhttpd (Apache)はFedoraに最初からインストールされています。
 
のようになります。
 
なお一般に httpd (Apache)は最初から Fedora にインストールされている。
 
=== Debian系 ===
Ubuntu(ウブントゥー)UbuntuDebian(デビアン)が、DebianはDebian系のOSディストリビューションです。
 
<syntaxhighlight lang="bash">
62 ⟶ 71行目:
</syntaxhighlight>
 
または、以下のように1つのコマンドでまとめてインストールすることもできます。
もしくは
<syntaxhighlight lang="bash">
apt-get install php5 apache mysql-server mysql-client php5-mysql
75 ⟶ 84行目:
 
== Linux版XAMPP ==
Linux版XAMPPのインストールは、やや手間がかります
 
ディストリビューション(Ubuntu(UbuntuやFedoraなど、Linuxをカーネルいっ、linuxパッケージ群の種類のこと)って異なりますが、それぞれのOSディストリビューションの公式パッケージアーカイブにはXAMPPは含まれてません
したがって、apt-getやdnfなどのパッケージマネージャーではLinux版XAMPPをインストールできません。
 
そのため、XAMPP公式サイトからLinux版のインストーラーをダウンロードする必要があります。
したがって apt-get コマンドやdnf コマンドでは、linux版XAMPPを入れられない。
公式サイトにはLinux版のインストーラーがありますので、まずはそれを何らかの方法でダウンロードします。
ネット上ではwgetコマンドなどを使用してダウンロードする方法が紹介されていますが、
 
なのGUIやWebブラウザが使える環境あればXAMPP公式サイトなどから、Linux版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を起動するには、以下のようにコマンドラインで入力します。
公式サイトにlinux版のインストーラーがあるの、まずそれを何らかの方法でダウンロードしてくる。
/opt/lampp/lampp
Linux版XAMPPのGUI画面は、Windows版とは画面構成が異なる場合がありますが、「Start」で目的のツールを起動し、「Stop」で終了する仕組みは同じです。
 
Fedora 32では、ライブラリ「libnsl」が初期状態ではインストールされていないため、XAMPP版Apacheの起動エラーが発生する可能性があります。
ネットにはwgetコマンドなどでダウンロードしてくる方法も紹介されていたりするが、
その場合は、以下のようにライブラリをインストールする必要があります。
しかしGUIやwebブラウザが使える環境なら、わざわざwgetコマンドを使わずとも普通のwebブラウザのクリック操作でインストーラーをダウンロードしてきてもいい。
 
しかし、インストール自体は、コマンド端末で行う必要がある。
 
まず、権限を付与する必要があるので、たとえば<code> chmod </code> コマンドを使って、
chmod 777 ./xampp-linux-x64-7.4.5-0-installer.run
などと権限付与する。
 
「x64-7.4.5-0」の部分はバージョン番号なので、時期によって変わっているので、適宜、ダウンロードしてきた物に合わせること。
 
右クリックでファイル名の文字列をコピーペーストするのが、てっとり早い。
 
 
つづいて、インストーラーを実行する際にrootユーザーになってないと実行できないので、
sudo su
で、パスワードを聞かれるので入力し、rootユーザーになればいい。(Fedoraの場合, 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では、ライブラリ libsnl が初期状態では入ってないのでXAMPP版 Apache の起動エラーになるので、これをインストールする必要がある。
sudo dnf install libnsl
これで、localhostでWebサーバが稼働したのでローカルのブラウザで閲覧可能になりました。
 
さて、XAMPP版Apacheを起動できたと思ったら、確認のためにウェブブラウザのアドレス欄に「localhost」と入力してみましょう。
ここまでして、とりあえずlocalhostでwebサイトを見れる環境が Linux版 XAMPP で整う。
 
すると、XAMPPのページが表示され、「XAMPP Apache + MariaDB + PHP + Perl」という文言がウェブページの冒頭に表示されます。
これにより、XAMPP版Apacheの起動が成功していると思われます。
 
また、このXAMPP版Apacheのメインページからは、phpMyAdminを起動することもできます。
さて、とにかくXAMPP版Apacheを起動できたと思ったら、確認のため、webブラウザのアドレス欄に
localhost
と入れよう。
 
さて、XAMPPのフォルダは、「lampp」という名称であり、以下の場所にあります。
 
そして、表示としてXAMPPのページが出て来て
 
:XAMPP Apache + MariaDB + PHP + Perl
とかwebページ冒頭に書いてあれば、おそらくXAMPP版Apache起動は成功である。
 
なお phpMyAdmin はこのXAMPP版Apacheのメインページから起動できる。
 
 
 
さて、そもそもXAMPPのフォルダは、
/opt/lampp
また、ドキュメント・ルートとして使用する場合には、以下の場所にアクセスする必要があります。
として、「lampp」の名称である。
 
ドキュメント・ルート(そこに入れたhtmlなどがブラウザからアクセスできるようになる)の場所は
/opt/lampp/htdocs
である。
 
== ソースコードからPHPをインストールしたい場合 ==
ソースコードからPHPの最新版やテスト版などをビルドする前には、まず古いバージョンのPHPをアンインストールしてからにしましょう。
 
Ubuntuでのインストール方法は、公式ソースファイルのreadmeに書いてありますが、Fedoraでの方法を本書で示します。
== ソースコードからインストールしたい場合 ==
ソースコードからPHP最新版やテスト版などをビルドしてインストールしても、Apacheのバージョンは変わらずに、Apache では古いバージョンのままのPHPしか使えません。また、古いバージョンのPHPは一般に残っています(Fedora36で確認)。Apacheの設定を編集して新しいほうのPHPを使えるようにする方法もありますが、それよりも次期のApacheアップデートを待つ方が良いでしょう。FedoraのようなローリングリリースのOSなら、標準設定で、だいたい半年くらい前のバージョンのPHPがApacheでつかえるような状態で組み込まれています。
 
Ubuntuまず、cdコマンド現在ディレクトリをダウストル方法は公式ドしたPHPソースファイルのreadme書いてあるので、移動します。
例えば、cd ダウンロード と打ち、その後 cd php-バージョン番号 と入力します。
Fedoraでの方法を本wikibooksでは示す。
また、コンパイルに必要なアプリケーションのインストールが必要です。次のコマンドを実行して、必要なパッケージをインストールします。
sudo dnf install libxml2-devel libsqlite3x-devel bison re2c autoconf make
Ubuntuではlibxml2-devですが、Fedoraでは「-devel」という接尾辞が必要になることに注意してください。他のアプリも微妙に名前が異なるため、注意が必要です。
 
上記のツールはビルドの前にインストールしておく必要があります。これらをインストールしないと、ビルドが失敗するだけでなく、誤ったmakeファイルなどが残ってしまい、以降のビルドも失敗してしまう可能性があります。誤ったmakeファイルが作成された場合は、
まず、cd コマンドで、現在ディレクトリをダウンロードしたPHPソースファイルに移動。
sudo make clean all test
一例として
を実行してください。
cd ダウンロード
のあと
cd php-バージョン番号
のようなコマンドになる。
 
それとは別に、コンパイルに必要なアプリケーションのインストールが必要。
 
sudo dnf install libxml2-devel libsqlite3x-devel bison re2c autoconf make
 
Ubuntuではlibxml-2dvlだが、しかしFedoraだと「-devel」に変わるので注意。他のアプリも微妙に名前が違う。
 
libxml2の通常版は最初からインストールされているが、しかしdevel版が追加で必要なので上記コマンドを実行する。
 
上記ツールは以降のビルドに先立ち、あらかじめインストールしておく必要がある。もし上記インストールをしていないと、ビルドが失敗するだけでなく、さらに間違ったmakeファイルなどが残ってしまい、以降のビルドが失敗し続けてしまうからである。(間違ったmakeファイルが作成された場合、 <code>sudo make clean</code> で消去して、再度 <code>sudo make test</code> などで makeしなおす。)
 
また
sudo dnf groupinstall "Development Tools"
でグループインストールします
 
 
その後、PHPのソースファイル内で、
187 ⟶ 149行目:
のような状態で(バージョン番号は、ダウンロードしたときのPHPのバージョンによって異なる)、コマンド
./buildconf
を実行します
 
つづけて、コマンド
./configure
実行しま
 
もし、エラーが出たら、不足しているアプリ名が「not found」などのメッセージとともに表示されるので、その不足アプリを dnf install コマンドなどでインストールしてから、再度、 <code>./configure</code> を試す。
 
もし、エラーが出たら、不足しているアプリ名が「not found」などのメッセージとともに表示されるので、その不足アプリを dnf install コマンドなどでインストールしてから、再度、 <code>./configure</code> を試します。
 
<code>./configure</code> コマンドのあと、最終的に
210 ⟶ 171行目:
Thank you for using PHP.
</pre>
みたいのようのがライセンス表示されたら、たぶん概ね<code>./configure</code> には成功なので、次の工程に移ります
 
Fedora では初期状態では make アプリがインストールされていないので、まず先に dnf コマンドで make アプリ自体をインストールする必要があります。
 
Fedora では初期状態では make アプリがインストールされていないので、まず先に dnf コマンドで make アプリ自体をインストールする必要がある。
sudo dnf install make
 
 
その後、現在ディレクトリ位置が
[ユーザー名@localhost php-8.0.0]$
のようである事を確認した上で、make コマンドで、
sudo make all install
 
このコマンドが終了するのに数分かかるので、本でも読みながら待つ。
 
 
このコマンドが終了するのに数分かかるので、本でも読みながら待ちましょう。
 
ビルドが失敗する場合、いくつかの原因が考えられます
# まちがったmakeファイルが残っている。
# ストレージ不足。
# メモリ不足。
 
もし、まちがったmakeファイルがある場合、
:<code>sudo make clean test</code>
とします。
で消去できる。
 
その後、再度 <code>sudo make test</code> などで makeしなおす。
 
メモリ不足の場合、ブラウザなどメモリを大幅に使用するアプリは終了しておく。また、PHPがネットワーク系の言語でもある事から、ネットワークどうしの干渉を防ぐためにも、ブラウザは終了しておくのが安全であり、望ましい。
 
メモリ不足の場合は、GUI環境を終了し、CTRL-ALT-F2でコンソールからログインし作業します。
 
さて、インストールに成功したら(成功したと思ったら)、コマンドで
php -v
でバージョン番号を表示してみて試します。
 
<pre>
249 ⟶ 204行目:
</pre>
 
のように型番バージョンなどが表示されれば、ひとまずインストール成功である
 
Apacheでは古いバージョンのPHPが参照している可能性がるので、適宜Apacheの設定を編集し新しくインストールしたPHPを参照するようにしましょう。
 
Enjoy!
なお、上記の一連の作業では、Apache などサーバーソフトの利用しているPHPはバージョンは変わらない。(Fedora 33 で 2020年12月21日に実験して確認。)
 
 
;ソースからインストールしたPHPを消したい場合
ソースからインストールしたPHP最新版が不要になったりバグってたりして消したい場合がある。その場合、下記のような手順で消せる。
 
Fedoraの場合、まず、コマンド操作
sudo dnf remove php
で、とりあえず消せるのを消す。
 
しかし、これでも、ソースからインストールした残骸などがPC内部に残る。
 
なので、コマンドでバージョン確認
php -v
をしても、まだソースインストールしたphpのバージョンが表示されていて残っている。
 
そこで、残骸を探すために、whichコマンド
which php
で探す。(たとえば usr/local/bin などが表示される。)
 
見つかったフォルダ内部に php の残骸があるので、コピー&ペーストでコピーする。
 
これからそのフォルダの中身をマウス手動で消すので、操作しやすいようにフォルダのユーザー名変更するコマンド
sudo chown ログインユーザ名 先程コピーしたフォルダ
 
たとえば
sudo chown ログインユーザ名 usr/local/bin
のようなコマンドである(フォルダは設定やOSにより異なる)。
 
これにより、フォルダ所有者の変更がされているので、マウス操作で消せるようになった。
 
その後、PHP のあるそのフォルダの中身ごとマウス操作で手動で消す(binフォルダは消さずに、その中身の実行ファイルにあるphp関連とおぼしきものを消す)。
 
念のため、コマンドでバージョン確認
php -v
これで何もバージョンが表示されなければ、おそらく消えている。
 
そしたら、再度インストールしなおす。
sudo dnf install php
 
念のため、コマンドでバージョン確認
php -v
通常リリース版のバージョンが表示されていれば、おそらく通常版のみが生きている。
 
以上。
 
[[Category:PHP|かいはつかんきよう いんすとおる]]