Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

  1. トップページ
  2. PHP入門編 - PHP実行環境の概要

PHP実行環境の概要

みなさまどうもこんにちは。いかがお過ごしでしょうか。

続きましてPHPをプログラミングする環境を色々と整えていきましょう。基本的にプログラムを書く前は『環境構築』なんかを行う必要があります。書いたプログラム言語を実行したりして動作をしっかり確認できる環境を作ることですね。

まずPHPを実行させるファイルはHTMLと同じくただのテキストファイルとなります。そしてPHPは記述したソースコードをそのまま実行させることができます。『コンパイラ』を使って『コンパイル』などをする必要がありません。なのでとっても楽な感じになってます。

『コンパイラ』というのは記述したプログラムコードを機械語(0と1で構築されたプロセッサーが直接理解できるバイナリ)に変換するためのツールです。

機械語に変換することは『コンパイル』と呼びます。

『C言語』などは高機能の『SDK』(開発に特化されたエディタツール)を使用しない限りは一度『コンパイル』しないと動作を確認することができず、慣れるまでちょっと大変だったりします。

なのである程度の機能があるテキストエディタを用意しておくと調子が良いです。エディタに関しては好みになりますので、ある程度機能がしっかりしたエディタならばどんなエディタでも構いません。著者は最近『Sublime Text』と『Vim』というエディタでプログラミングをすることが多いです。良ければ参考にしてやってください。その前は『秀丸エディタ』と『Vim』(vi)を愛用していた感じですね。こちらの記事でもエディタの紹介をしているので暇な時にでもお読み頂ければ何かの参考になるかもしれません。

ではちょろりとPHPを記述してみましょう。まずPHPの拡張子は『.php』となっており、『.php』のファイルにPHPを記述すればPHPの処理が走るようになっています。

ちなみにこの拡張子は設定で変更することができ、例えば『.html』という拡張子のファイルでPHPを走らせたりすることができたりしますが、動的ファイルなのか性的静的ファイルなのか少々分かりづらくなるので『.php』という拡張子のファイルのみ、PHPが実行できる設定にしておくのが一般的です。

というわけでみなさんのPCのお好きなフォルダ(ディレクトリ)に『index.php』というテキストファイルを作成してください。ファイル名は何でも構わないのですが、トップページにさせたいので『index.php』としておきましょう。

ウェブサイト構築では一番最初にアクセスさせたい(トップページとして表示させたい)ファイルの名前を『index.html』や『index.php』といったように『index.xxx』というファイル名を付けることが慣習となっています。

これはウェブサーバー構築の際のデフォルトの設定が「ファイル名を省略してアクセスしてきたリクエストには『index.html』を送り返して!」と設定されており、この流れからHTML以外の動的言語でウェブサイトを構築する場合でも『index.xxx』って感じで名前を付けるのが一般的なネーミングルールとなっています。

例えば、当サイトの『http://wp-p.info/』というURLにアクセスするとトップページ(index.php)が表示されます。

これは弊社のサーバーの設定で「ファイル名を省略してアクセスしてきたリクエストには『index.php』を送り返して!」と設定してあることから『http://wp-p.info/』でアクセスされた場合と『http://wp-p.info/index.php』でアクセスされた場合で同じ結果になっているという感じです。

注意点ですがテキストファイルの『文字コード』は『UTF-8』にするようにしてください。これは『HTML5』の推薦文字コードが『UTF-8』だからだったりします。PHPに限らず、最近のプログラミング事情としてテキストファイルは『UTF-8』で記述していけば大体問題無いです。
※文字コードについての解説はこちらへ。

(´-`).。oO(昔は『Shift_JIS』ばっかりだったのですが昨今ではさっぱり聞かなくなってしまいました...)

では作った『index.php』に以下の記述を書いてみてください。『Hello world』プログラムになります。コピペでも構いません。手書きする場合は『;』の書き忘れ等に気をつけてくださいね。

<?php
echo 'Hello world';

『Hello world』プログラムとはただ『Hello world』という文字を出力するだけのプログラムです。

一番最初にこのサンプルが出てきたのは『Unix』と『C言語』の開発者であらせられるデニス・リッチー様の著書『プログラミング言語C』らしいです。

その流れからプログラミング系の参考書の最初に作るプログラムは『Hello world』プログラム的なものになっていることが多いです。

そしたらそれを保存して適当なブラウザで開いてみてください。ブラウザの種類はなんでも構いません。そしたらこうなります。

はい、そのまま書いてある文字がおもいっきり出力されてますね。このように通常のブラウザにはPHPの処理機能はございません

他の言語でも言えることですが、プログラムを書いてもそれを『書いてある通りに処理して結果を返してくれる機構』が存在しなければただの文字の集まりになってしまいます。どんなに美しく効率的なプログラムを書いても処理されることがなければただの訳の分からない英文です。そう考えるとちょっとセンチメンタルな気持ちになっちゃいますね。

というわけですのでまずPHPを処理してくれる『実行環境』を作りましょう。PHPはHTMLの組み込みに特化した言語のため『リモート』で実行させることが多い言語ですが、開発は『ローカル』で行うのが一般的です。

『リモートサーバー』とは外部からのアクセスを処理できる機能が構築されたパソコンの事で、一般的に『サーバー』や『リモート』と呼ばれます。

対して『ローカルマシン』は一般的に『ローカル』と呼ばれ、これはみなさんのお手元のパソコンのことを指します。

『リモートサーバー』でPHPを実行させる環境を構築する手順は『Linux(Unix)入門編』とかで紹介したいと思います。

(´-`).。oO(すみません、現在執筆中でございます...)

というのも、PHPで間違えて無限ループ処理を構築してしまいそれを実行してしまったとしましょう。するとひょっとしたらサーバーを丸ごと落としてしまうかもしれません。レンタルサーバーだったりしたら大変ですね、そのサーバーで運用している他のウェブサイトの管理人さんに怒られてしまいます。

みなさんの『ローカルマシン』であるならば無限ループ処理をさせてパソコンを落としてしまってもみなさんが困るだけで他の方には迷惑がかかりません。なのでまずはみなさんの『ローカルマシン』でPHPを実行できるようにしましょう。

昨今のOSでは無限ループ処理をさせてしまってもパソコンが落ちてしまうという事態に発展することはそんなにありません。

負荷がかかる処理をさせてしまった場合でもパソコンの根本部分には影響がないようになっています。

ただし、古いOSの場合はそういった処理が組み込まれていない事が多いので古いOSをインストールして遊んでみたり懐かしむときはみなさんも気をつけるようにしてください。

昔は『ローカル』に動的言語の実行環境を作るときは『Apache』(アパッチ)をインストールして言語の処理用のパッケージをコンパイルしてインストールして...などととっても面倒くさかったのですが、今では開発環境がさくっと構築できる便利なアプリケーションがいっぱい公開されています。

『Apache』とは世界で一番使われている『ウェブサーバーソフトウェア』のことです。

ウェブサーバーはポート80番で外部からアクセスがあった場合にhtmlファイルとかCSSファイルとか画像のデータとかを送り返してくれます。みなさんはその受信したデータをブラウザで閲覧してるって形になっていますが、その処理をしているのが『ウェブサーバーソフトウェア』であり『Apache』になります。

PHPは動的ウェブサイトの構築目的で使用されることが多いのでPHPの実行環境を構築する場合は『Apache』もセットで組み込む感じになります。

その中でPHPの実行環境を構築してくれる『MAMP』(マンプ)を今回は使ってみましょう。『XAMPP』(ザンプ)なんかも有名ですね。こちらもPHPの実行環境をまとめて構築してくれるアプリケーションになります。『XAMPP』の方が多少細かな設定ができたりしますが、『MAMP』(無料版)は細かな設定ができない分、簡単に構築できるので初心者向けって感じです。

と、長くなってしまったので一旦ここで切りますね。次の記事では『MAMP』のインストールをやっていきます。

ではこの辺で。またお会いしましょう。

この記事は桜舞が執筆致しました。

著者が愛する小型哺乳類

桜舞 春人 Sakurama Haruto

ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。