この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:11
ページ更新者:T
更新日時:2026-06-11 07:07:02

タイトル: インストール方法
SEOタイトル: PHP インストール方法完全ガイド (Win/Mac/Linux)

この記事の要点
  • Windows: 公式 zip + PATH 設定 / XAMPP / Laragon / WSL2 が定番
  • macOS: brew install php@8.3 または phpbrew でバージョン管理
  • Linux: apt install php8.3-fpm php8.3-cli ...(Ondrej PPA 推奨)
  • Docker: php:8.3-fpm-alpine が軽量で本番向き
  • 複数バージョン共存: Ubuntu は update-alternatives、macOS は phpbrew、Win は Laragon が楽

Windows へのインストール

方法 A: 公式 ZIP + PATH 設定(最も基本)

  1. windows.php.net/download から VS17 x64 Thread Safe をダウンロード(Apache 用)
    または Non Thread Safe(FastCGI / nginx 用)
  2. C:\php に解凍
  3. 環境変数 PATHC:\php を追加
  4. php.ini-developmentphp.ini にコピーして編集
  5. php -v でバージョン確認
# PATH 追加(管理者 PowerShell)
[Environment]::SetEnvironmentVariable("Path",
    [Environment]::GetEnvironmentVariable("Path", "Machine") + ";C:\php",
    "Machine")

# 確認
php -v
# PHP 8.3.x (cli) (built: ...)

# よく有効化する拡張(php.ini)
# extension=curl
# extension=fileinfo
# extension=gd
# extension=intl
# extension=mbstring
# extension=mysqli
# extension=pdo_mysql
# extension=openssl
# extension=sodium

方法 B: XAMPP / Laragon(オールインワン)

パッケージ同梱特徴
XAMPPApache + MariaDB + PHP + Perl定番、初学者向き
LaragonNginx/Apache + MySQL + PHP + Node軽量、複数 PHP 切替可、自動 vhost
WAMPApache + MySQL + PHP古くからある定番

方法 C: WSL2 で Ubuntu 環境(本番に近い)

# WSL2 で Ubuntu を入れる
wsl --install -d Ubuntu-22.04

# Ubuntu 内で PHP インストール(Linux 章を参照)
sudo apt update
sudo apt install -y php8.3-cli php8.3-fpm php8.3-mbstring php8.3-mysql

macOS へのインストール

方法 A: Homebrew(推奨)

# Homebrew 自体が無ければ:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# PHP インストール(最新版)
brew install php

# バージョン指定
brew install php@8.3
brew install php@8.2

# 複数バージョン併用
brew link --overwrite --force php@8.3

# 起動(php-fpm として常駐)
brew services start php@8.3

# 確認
php -v
# PHP 8.3.x (cli) (built: ...)

# Composer
brew install composer

方法 B: phpbrew(厳密にバージョン管理)

# 依存パッケージ
brew install autoconf curl libxml2 mhash gettext icu4c openssl libtool jpeg libpng oniguruma

# phpbrew インストール
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew
sudo mv phpbrew /usr/local/bin/phpbrew
phpbrew init

# PHP 8.3 をビルド
phpbrew install 8.3.0 +default +mysql +intl

# 切替
phpbrew use 8.3.0
phpbrew switch 8.3.0     # 永続的に切替

php -v

Linux (Ubuntu / Debian)

# 標準リポジトリの PHP(Ubuntu 22.04 なら PHP 8.1)
sudo apt update
sudo apt install -y php-cli php-fpm php-mbstring php-mysql

# 最新版を入れたいなら Ondrej PPA(最も信頼される PHP リポジトリ)
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

# PHP 8.3 をフル構成でインストール
sudo apt install -y \
    php8.3-cli \
    php8.3-fpm \
    php8.3-mysql \
    php8.3-pgsql \
    php8.3-sqlite3 \
    php8.3-redis \
    php8.3-mbstring \
    php8.3-xml \
    php8.3-curl \
    php8.3-gd \
    php8.3-intl \
    php8.3-zip \
    php8.3-bcmath \
    php8.3-opcache

# 起動
sudo systemctl enable --now php8.3-fpm
sudo systemctl status php8.3-fpm

# 確認
php -v
php -m   # 有効モジュール一覧

CentOS / RHEL / AlmaLinux

# EPEL + Remi リポジトリ
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

# モジュール一覧
sudo dnf module list php

# PHP 8.3 を有効化してインストール
sudo dnf module reset php
sudo dnf module enable php:remi-8.3
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-curl php-gd

sudo systemctl enable --now php-fpm
php -v

Docker(本番運用に最適)

# 公式イメージは alpine ベースが軽量
FROM php:8.3-fpm-alpine

# 拡張モジュールのインストールヘルパが付属
RUN apk add --no-cache \
        libpng-dev libzip-dev oniguruma-dev icu-dev \
    && docker-php-ext-install \
        pdo_mysql mbstring zip exif pcntl bcmath gd intl opcache

# Composer(マルチステージビルドで取得)
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

WORKDIR /var/www/html
COPY composer.json composer.lock ./
RUN composer install --no-dev --optimize-autoloader

COPY . .

EXPOSE 9000
CMD ["php-fpm"]
# docker-compose.yml 例
services:
  php:
    build: .
    volumes:
      - ./:/var/www/html
    environment:
      - APP_ENV=production
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./:/var/www/html:ro
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    depends_on:
      - php

Composer の同時インストール

# 公式インストーラ(Linux / macOS)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer

# 確認
composer --version

# Windows
# https://getcomposer.org/Composer-Setup.exe をダウンロードして実行

複数 PHP バージョンの共存

Ubuntu (update-alternatives)

# 両方インストール
sudo apt install -y php8.2-cli php8.3-cli

# 切替
sudo update-alternatives --config php
# 1) /usr/bin/php8.2
# 2) /usr/bin/php8.3
# > 番号を選ぶ

# 確認
php -v

macOS (Homebrew)

brew install php@8.2 php@8.3

# 8.2 を使う
brew unlink php
brew link --overwrite --force php@8.2

# 8.3 に切替
brew unlink php@8.2
brew link --overwrite --force php@8.3

動作確認

# CLI
php -v
php -m                  # ロードされているモジュール
php -i | grep ini       # 設定ファイルパス
php --ini               # ロードされた ini 一覧

# Web 経由(簡易サーバ起動)
php -S localhost:8000 -t public

# phpinfo() 確認
cat > /var/www/html/info.php <

FAQ

Q: PHP 7 系がまだ動いているけど大丈夫?
A: PHP 7.x はサポート終了済。8.1+ に上げるのが必須です。セキュリティパッチが出ないため脆弱性が累積します。

Q: apt install php でどのバージョンが入る?
A: Ubuntu のデフォルトはディストリ任せ(Ubuntu 22.04 なら 8.1、24.04 なら 8.3)。最新を確実に入れるなら Ondrej PPA。

Q: TS (Thread Safe) と NTS の違いは?
A: TS は Apache mod_php 用、NTS は FastCGI / FPM / IIS 用。最近はNTS + FPMが主流。