#1 PHPで学ぶ環境構築の基本

PHPは、Webサイトの裏側(サーバー側)の処理を書くための言語として長く使われてきました。世界中の数多くのWebサイト、それも個人ブログから大規模なECサイトまでが今もPHPで動いています。この記事では、PHPを学ぶための環境構築を、実際につまずきやすいポイントも含めてじっくり解説します。「インストールはしたけど動かない」「エラーの意味がわからない」といった、初心者がよく通る壁を先回りして紹介するので、焦らず一つずつ確認してみてください。

PHP単体でも学習を始められる

PHPは本来、Webサーバーと組み合わせて使う言語ですが、学習の最初の段階ではサーバーを用意しなくても大丈夫です。PHP公式サイト(php.net)からインストーラーをダウンロードすれば、パソコン単体でPHPのコードを試すことができます。Windowsの場合はZIP形式の配布パッケージを展開して環境変数(パソコンにコマンドの場所を教える設定)にPHPの場所を登録する方法が一般的で、Macの場合はHomebrewというパッケージ管理ツールを使って`brew install php`と入力するだけで済むことが多いです。どちらの方法が簡単かはOSによって変わるので、公式サイトのインストールガイドを見ながら進めるのが安心です。

インストールできたか確認する

インストール後、ターミナル(コマンドを入力する黒い画面のようなアプリ)で次のコマンドを実行します。

php --version

バージョンが表示されれば準備は完了です。表示された数字(例:PHP 8.3.0)は、今インストールされているPHPのバージョンを表しています。学習用の教材やチュートリアルによっては古いバージョンの書き方を前提にしていることもあるので、バージョンの数字はなんとなく覚えておくと後で役立ちます。

ファイルを実行してみる

拡張子`.php`のファイルを用意し、次のコマンドで実行します。

php ファイル名.php

これだけで、ターミナル上にプログラムの実行結果が表示されます。Webサーバーを用意していなくても、この方法でPHPの基本文法はひと通り学べます。

よくあるエラーと対処法

環境構築でつまずく多くのケースは、実は原因がパターン化されています。ここでは実際によく表示されるエラーメッセージを取り上げて、なぜ起きるのか、どう直せばいいのかを具体的に見ていきます。

「'php' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」(Windows)

インストール自体はできているのに、ターミナルで`php`と入力しても認識されない場合、原因のほとんどは「環境変数PATH」にPHPの場所が登録されていないことです。PATHとは、ターミナルが「コマンドを探しに行く場所のリスト」のことです。PHPをZIPで展開しただけだと、このリストに自動では追加されません。展開したフォルダ(例:`C:\php`)のパスをシステム環境変数のPATHに追加し、ターミナルを一度閉じて開き直すと認識されるようになります。

「php: command not found」(Mac/Linux)

Windowsの場合と同じく、PATHが通っていないことが主な原因です。Homebrewでインストールした場合は`brew install php`の実行結果に表示される案内(PATHへの追加方法)を見落としていることが多いので、インストール時のログをもう一度確認してみましょう。ターミナルを再起動しても直らない場合は、使っているシェル(bashやzshなど)の設定ファイルに追加のコマンドを書く必要があることもあります。

「Parse error: syntax error, unexpected...」

これは環境構築というより文法エラーですが、初心者が「環境がおかしいのでは」と勘違いしやすいエラーの代表格です。多くの場合、セミコロン(`;`)の書き忘れや、括弧の閉じ忘れが原因です。エラーメッセージには行番号が表示されるので、まずはその行と、その1行前を見比べてみてください。

ローカルサーバー起動時の「Failed to listen on localhost:8000 (reason: Address already in use)」

PHPには`php -S localhost:8000`のように入力するだけで簡易的なWebサーバーを立ち上げられる機能があります。ところが、このエラーは「そのポート番号(この例では8000番)がすでに他のプログラムに使われている」ときに表示されます。原因は、前に起動したPHPサーバーを閉じ忘れていたり、別のアプリ(Node.jsのサーバーなど)が同じポートを使っていたりすることがほとんどです。対処法はシンプルで、ポート番号を`php -S localhost:8001`のように別の空いている番号に変えるか、使っていないターミナルの画面を閉じて古いサーバーを終了させれば解決します。

ローカルサーバーを立てて試す

ある程度慣れてきたら、`php -S localhost:8000`コマンドでブラウザから動作確認できる簡易サーバーを立てるのがおすすめです。これはPHPに標準で組み込まれている機能で、追加のソフトを入れる必要がありません。一方で、世の中には「XAMPP」や「MAMP」といった、PHPとWebサーバー(Apacheなど)、データベース(MySQLなど)をまとめてインストールできるツールもよく紹介されています。これらは本番のWebサイトに近い環境を再現できるのが利点ですが、学習の初期段階では機能が多すぎて、逆に「何が起きているのかわからない」状態になりがちです。まずはPHP単体の`php -S`コマンドで慣れて、データベースを使った本格的な学習に進むタイミングでXAMPPやMAMPを検討する、という順番でも十分間に合います。

PHPならではの注意点

PHPのコードは、ファイルの中で`<?php`という記述から始める必要があります。この記述を忘れると、書いたコードがただの文字列としてそのままブラウザやターミナルに表示されてしまうため、「あれ、プログラムが実行されない」と戸惑う初心者が多いポイントです。最初のうちは、ファイルの一番上にこの記述があるかを必ず確認する癖をつけましょう。また、PHPのファイルの中にHTMLを直接混ぜて書けるという特徴もあり、これは他の言語にはあまりない書き方なので、最初は少し不思議に感じるかもしれません。

Composerというパッケージ管理ツール

学習が進むと、他の人が作った便利な機能(ライブラリ)を使いたくなる場面が出てきます。PHPでは「Composer」というツールを使ってライブラリを管理するのが標準的な方法です。最初は使わなくても問題ありませんが、名前だけ覚えておくとよいでしょう。ちなみにComposerは「依存関係」と呼ばれる、ライブラリ同士の必要なバージョンの組み合わせを自動で解決してくれるツールで、Node.jsでいう`npm`、Pythonでいう`pip`に近い役割を持っています。すでに他の言語でこうしたツールに触れたことがある人は、考え方自体はすぐに馴染めるはずです。

つまずきやすいポイント・よくある質問(FAQ)

PHPは今でも学ぶ価値がありますか?

「PHPは古い」という声を見かけることもありますが、実際には今も世界中の非常に多くのWebサイトで使われ続けている言語です。特に、WordPressのような有名なCMS(コンテンツ管理システム)の多くがPHPで作られているため、Web制作や既存サイトの改修といった仕事につながりやすいという実用面のメリットがあります。学ぶ価値がないというより、「何を作りたいか」によって向き不向きがある言語、と捉えるのが実態に近いでしょう。

レンタルサーバーとの関係は?

この記事で紹介したのは、自分のパソコンの中でPHPを動かすための環境構築です。実際に完成したWebサイトをインターネット上に公開するには、別途レンタルサーバーなどの「公開先」が必要になります。多くのレンタルサーバーはPHPをあらかじめ使える状態で用意してくれているため、自分でサーバー側にPHPをインストールする作業はほとんど発生しません。まずは自分のパソコンで動かせるようになることを目標にし、公開は必要になったタイミングで調べれば十分です。

エディタは何を使えばいいですか?

特に決まりはありませんが、初心者のうちは「Visual Studio Code(VS Code)」を使っている人が多い印象です。無料で使え、PHP用の拡張機能を追加すると入力の補助やエラーの下線表示などが使えるようになり、書き間違いに気づきやすくなります。もちろん他のエディタでも学習は問題なく進められるので、すでに使い慣れたものがあればそれを使い続けても構いません。

バージョンの違いは気にした方がいいですか?

PHPは継続的にバージョンアップされており、書き方が少しずつ変わることがあります。学習を始めたばかりの段階では神経質になる必要はありませんが、調べた記事やチュートリアルのコードがうまく動かないときは、「自分の環境と記事のPHPバージョンが違うのでは」と疑ってみると、原因が見つかることがあります。

他の言語と比べた環境構築の考え方

PHPの環境構築は、他の言語と比べると「まずは動かしてみる」までの距離が比較的短いのが特徴です。たとえばコンパイルという事前の変換作業が必要な言語もありますが、PHPはファイルを保存してコマンドを打てばすぐに結果が見られます。一方で、Webサーバーと組み合わせて使うことを前提に作られた言語という性格上、学習が進むにつれて「サーバーとは何か」「リクエストとレスポンスとは何か」といった、Webの仕組みそのものへの理解が自然と求められる場面が増えていきます。これは他の言語にも共通する部分はありますが、PHPの場合はWeb制作という具体的な目的と結びつきやすいぶん、環境構築の延長線上でWebの仕組みも一緒に学べる、という捉え方をするとイメージしやすいかもしれません。

まとめ

PHPの環境構築は、公式サイトからインストールするだけで、Webサーバーがなくても学習を始められます。`<?php`から書き始めるというお作法さえ覚えてしまえば、あとは`php ファイル名.php`で気軽に動作を確認できます。途中でエラーに出会っても、この記事で紹介したような「よくあるパターン」に当てはまることがほとんどなので、慌てずにエラーメッセージを読み解いていきましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

PHPをもっと学びたい方には「10日でおぼえるPHP入門教室 第4版」がおすすめです。

コメント

このブログの人気の投稿

#11 Rustで学ぶエラーハンドリングの基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本

#19 Goで学ぶテスト(単体テスト)の基本