コンテンツにスキップ

PHP/開発環境

出典: フリー教科書『ウィキブックス(Wikibooks)』
< PHP

PHPのプログラミング学習環境

[編集]

PHPは、動的なウェブページを構築することを大きく意識したプログラミング言語で、開発用のウェブサーバーを内蔵しています。 そのため、特にApache HTTP Servernginxh2oなどでウェブサーバー環境を構築することなく、プログラミングの学習を開始できます。

実際の運用に開発用の内蔵ウェブサーバーを使うことは、パフォーマンスやセキュリティの問題から非推奨ですが、ウェブサーバーとPHP処理系を連携するセットアップ(相応のネットワーク管理とシステム管理者権限とPHPの知識が必要)はハードルを高くしてしまうので、学習の開始には内蔵ウェブサーバーを使うのが良い選択でしょう。

いまの環境にPHPがインストールされているか?

[編集]

いまの環境にPHPがインストールされているか確認しましょう。

コマンドラインから

php -v

を実行します

PHP 8.5.5 (cli) (built: Apr 14 2026 11:21:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.5.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.5, Copyright (c), by Zend Technologies
のように表示されていたらPHPはインストールされています。
#内蔵ウェブサーバーを使ってみるに進んでください。

もし

-bash: php: command not found
のようの表示されたら、PHPはインストールされていません。
次のような手順でPHPをインストールしてください。

使用するオペレーティングシステム

[編集]

PHPは多くのUnixとUnix互換OS、とWindowsのようなUnix非互換OSで動作します。

Windows

[編集]

公式のWindows向けダウンロードページにビルド済みバイナリーが提供されています。

もしあなたが、Microsoft Visual Studio を使っているのであれば、Visual Studio Marketplace から、PHP Tools for Visual Studio 2022をインストールすることで、Visual Studio に統合された、PHP開発環境を使用できます。

もしあなたが、Visual Studio code(vscode)を使っているのであれば、Visual Studio Marketplace から、PHP Tools for Visual Studio Codeをインストールすることで、vscode に統合された、PHP開発環境を使用できます。

macOS

[編集]

PHP は macOS X (10.0.0) から macOS Monterey (12.0.0) までの macOS にバンドルされています。デフォルトのウェブサーバーでPHPを有効にするには、Apacheの設定ファイルhttpd.confの数行をアンコメントする必要がありますが、CGIやCLIはデフォルトで有効になっています(ターミナルプログラムで簡単にアクセスできます)。

macOS Monterey 以降は、標準ではバンドルされていないので、homebrew を使ってインストールするか、ソースコードからビルドします。

brew install php

FreeBSD

[編集]

ports/pkg コレクションに lang/php85 lang/php85-extensions があります。

portmaster でビルドしインストール

# portmaster lang/php85 lang/php85-extensions

pkg でビルド済みバイナリーをインストール

# pkg install lang/php85 lang/php85-extensions

GNU/Linux

[編集]

多くのGNU/Linuxのディストリビューションでは、PHPが標準でインストールされています。

くわしくは、利用中のディストリビューションとパッケージマネージャーのマニュアルを参照してください。

テキストエディター

[編集]

Windows の「メモ帳」(notepad.exe)のようなプレーンテキストの編集できるエディターが必要です。 HTMLの編集ができる環境であれば、そのまま使えます。

内蔵ウェブサーバーを使ってみる

[編集]

内蔵ウェブサーバーは、アプリケーションの開発を支援するために設計されています。また、テスト目的や制御された環境で実行されるアプリケーションのデモにも有用です。このサーバーは、フルスペックのウェブサーバーではありません。公共のネットワークで使用することはできません。

内蔵ウェブサーバーの起動

% mkdir -p ~/public_html
% cd ~/public_html
% php -S localhost:8000
[Tue Apr 14 12:12:35 2026] PHP 8.5.5 Development Server (http://localhost:8000) started
のように起動します。
localhost:8000は、ネットワークからアクセスできないホストにローカルなアドレスのポート8000でウェブブラウザーからのアクセスを待ちます。
localhost0に変えると到達可能な全てのホストからアクセス可能になります。
本来のHTTPのポート 80 は、システム管理者権限がないと開けないので、8000に仮にしました。
ポート8000 が衝突していたら、 8080…8888 のような上のポートに逃げるのが良いでしょう。

終了するには

^C
CTRLを押しながら C をタイプします。

1行だけのプログラムを入力しサーバーを起動します。

echo '<?php phpinfo() ?>' > phpinfo.php
php -S localhost:8000
[Tue Apr 14 12:13:55 2026] PHP 8.5.5 Development Server (http://localhost:8000) started

ここで、http://localhost:8000/phpinfo.phpをウェブブラウザーで開くと、PHPの諸元が表示されます。

ターミナルを見ると

[Tue Apr 14 12:13:55 2026] PHP 8.5.5 Development Server (http://localhost:8000) started
[Tue Apr 14 12:18:21 2026] [::1]:34202 Accepted
[Tue Apr 14 12:18:21 2026] [::1]:34202 [200]: GET /phpinfo.php
[Tue Apr 14 12:18:21 2026] [::1]:34202 Closing

のように内蔵ウェブサーバーとウェブブラウザーの様子が表示されます。

サーバー停止

^C

コマンドラインから phpinfo.php を実行(先頭五行)。

% php phpinfo.php | head -5
phpinfo()
PHP Version => 8.5.5

System => Linux acer 6.6.99-09128-g14e87a8a9b71 #1 SMP PREEMPT_DYNAMIC Fri, 6 Feb 2026 20:45:19 -0800 x86_64
Build Date => Apr 14 2026 11:21:21

おなじコードでも、ウェブサーバーからの実行と、コマンドラインからの実行で出力に違いがありますが、実行そのものはできています。

まとめ
学習のために内蔵ウェブサーバーが使えます
内蔵サーバーは、php -S localhost:8000で起動し、カレントディレクトリーにあるコンテンツが公開されます。
内蔵サーバーは、CTRL-Cで終了します。