PHPをインストールした直後は、コマンドプロンプトやターミナルで「php」と入力しても実行できないことがあります。
これは、オペレーティングシステム(OS)がPHPの実行ファイルがどこにあるかを把握していないために起こる現象です。
本記事では、PHPの「パスを通す」という作業の具体的な手順について、Windows、macOS、Linuxの各OS別に詳しく解説します。
開発環境を構築する上で避けては通れないステップですので、正しく設定してスムーズな開発をスタートさせましょう。
PHPのパスを通すとはどういうことか
コンピュータには「環境変数」という、システム全体で共有される設定情報を保存する仕組みがあります。
その環境変数の一つである「PATH」は、コマンド名を入力した際に実行ファイルを探しに行く場所をリスト化したものです。
パスを通すという作業は、この「PATH」という変数の中にPHPの実行プログラムが保存されているフォルダを登録することを指します。
設定が完了すると、どのディレクトリにいても「php」という短いコマンドだけでプログラムを起動できるようになります。
特にLaravelやSymfonyなどのモダンなフレームワーク、あるいはComposerといったライブラリ管理ツールを使用する場合、パスの設定は必須となります。
WindowsでPHPのパスを通す手順
Windows環境においてPHPのパスを通す作業は、システムのプロパティ画面から行います。
まずは、自身がPHPをインストールしたディレクトリ(場所)を正確に把握しておく必要があります。
PHPのインストール場所を確認する
多くの場合、PHPは「C:\php」や、XAMPPを使用しているなら「C:\xampp\php」といった場所にインストールされています。
エクスプローラーを開き、そのフォルダ内に「php.exe」が存在することを確認してください。
この「php.exe」が含まれるフォルダのパス(アドレスバーに表示されている文字列)をコピーしておきます。
システム環境変数の編集
Windowsのスタートメニューを開き、「環境変数」と入力して検索してください。
「システム環境変数の編集」という項目が表示されるので、それをクリックして起動します。
「システムのプロパティ」ウィンドウが表示されたら、右下にある「環境変数」ボタンをクリックします。
「システム環境変数」という下側の枠の中から、「Path」という名前の変数を見つけて選択し、「編集」ボタンを押します。
「環境変数名の編集」ウィンドウで「新規」ボタンを押し、先ほどコピーしたPHPのインストールディレクトリのパスを貼り付けます。
「OK」ボタンを順番に押し、すべてのウィンドウを閉じることで設定が保存されます。
Windowsでの反映確認
設定が正しく反映されたかを確認するために、新しく「コマンドプロンプト」または「PowerShell」を起動します。
すでに開いていたウィンドウでは新しい設定が読み込まれないため、必ず一度閉じてから再起動してください。
以下のコマンドを入力して実行してみましょう。
# PHPのバージョン情報を表示する
php -v
PHP 8.3.0 (cli) (built: Nov 21 2023 15:00:00) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.3.0, Copyright (c) Zend Technologies
このようにバージョン情報が表示されれば、Windowsでのパス設定は成功です。
macOSでPHPのパスを通す手順
macOSでは、使用しているシェル(ZshやBash)の設定ファイルを編集することでパスを通します。
近年のmacOSでは標準のシェルが「Zsh」になっているため、主に「.zshrc」というファイルを編集することになります。
現在のシェルを確認する
まずは自分がどのシェルを使っているかを確認するために、ターミナルで以下のコマンドを実行します。
# 使用中のシェルを確認する
echo $SHELL
/bin/zsh
実行結果が「/bin/zsh」であればZshを、「/bin/bash」であればBashを使用していることになります。
設定ファイルの編集と保存
HomebrewなどでPHPをインストールした場合、通常は自動でリンクが作成されますが、手動で指定が必要な場合もあります。
ホームディレクトリにある設定ファイル(.zshrcなど)をテキストエディタで開きます。
ここでは、viエディタを使用して編集する手順を示します。
# .zshrcを編集する
vi ~/.zshrc
ファイルの末尾に、以下の形式でパスを追加する記述を追記します。
# PHPのパスを環境変数に追加する
export PATH="/usr/local/opt/php/bin:$PATH"
編集が終わったら「:wq」と入力して保存し、エディタを終了します。
変更内容の適用
ファイルを保存しただけでは現在のターミナルには反映されません。
以下のコマンドを実行して、設定ファイルを即座に読み込ませます。
# 設定ファイルを再読み込みする
source ~/.zshrc
最後に「php -v」コマンドを実行し、意図したバージョンのPHPが表示されるかを確認してください。
Linux環境でのパス設定
Linux(UbuntuやCentOSなど)でも、macOSと同様にシェル設定ファイルを編集します。
ただし、パッケージマネージャ(aptやyum)を使ってインストールした場合は、自動的にパスが通ることが一般的です。
特定のバージョンを個別にインストールした際などは、手動での設定が必要になるケースがあります。
パス設定の比較
OSやインストール方法によって、設定が必要な場所が異なります。
| OSの種類 | 主な設定ファイル | 記述するコマンド例 |
|---|---|---|
| Ubuntu / Debian | ~/.bashrc | export PATH=”/usr/bin/php:$PATH” |
| CentOS / RHEL | ~/.bash_profile | export PATH=”/usr/local/bin/php:$PATH” |
| macOS (Zsh) | ~/.zshrc | export PATH=”/opt/homebrew/bin:$PATH” |
Linux環境では、シンボリックリンクを活用してパスを通す手法もよく使われます。
例えば、/usr/local/bin/ の中にPHPの実行ファイルへのリンクを作成することで、個別の設定ファイル編集を避けることが可能です。
PHPのパスが反映されない時のチェックリスト
設定手順をなぞったはずなのに、コマンドが認識されないケースは少なくありません。
トラブルに直面した際は、以下のポイントを一つずつ確認してください。
1. ターミナルの再起動を忘れている
Windowsの環境変数を変更した場合、すでに開いているコマンドプロンプトには変更が反映されません。
一度すべてのターミナルウィンドウを閉じ、再度立ち上げ直してから試してみてください。
Visual Studio Codeなどのエディタ内蔵ターミナルも同様に、エディタ自体の再起動が必要な場合があります。
2. パスの記述ミス(タイポ)
パスの文字列に一文字でも間違いがあると、OSはファイルを見つけることができません。
特に「php」と「bin」の階層関係や、バックスラッシュ(\)とスラッシュ(/)の使い分けに注意してください。
Windowsの場合は、フォルダのアドレスバーから直接コピーしたものを貼り付けるのが最も確実です。
3. 優先順位の問題
複数のバージョンのPHPをインストールしている場合、先に記述されているパスが優先されます。
環境変数のリストの中で、新しく設定したパスが他のPHP関連のパスよりも下に位置していないか確認してください。
Windowsの編集画面では「上に移動」ボタンを使って、優先したいパスをリストの上位に配置しましょう。
4. 実行権限の問題
LinuxやmacOSにおいて、手動でバイナリを配置した場合、ファイルに実行権限が付与されていないことがあります。
以下のコマンドで、PHPファイルに適切な権限があるか確認してください。
# 実行ファイルの権限を確認する
ls -l /path/to/php
実行権限がない場合は「chmod +x」コマンドを使用して権限を付与する必要があります。
複数のPHPバージョンを管理する方法
プロジェクトごとに異なるPHPのバージョンが必要になる場面は非常に多いです。
その都度、手動で環境変数を書き換えるのは手間がかかり、ミスを誘発する原因となります。
こうした課題を解決するために、バージョン管理専用のツールを導入することを検討してください。
Windows向けツール:phpenv for Windows
Windows環境では、コマンド一つでバージョンを切り替えられるツールが存在します。
これらを利用すると、特定のディレクトリに入った時だけ自動でPHPのバージョンを切り替えるといった高度な運用が可能になります。
macOS / Linux向けツール:phpenv や Homebrew
macOSでは、Homebrewを使って複数のバージョンを共存させることが容易です。
「brew link」コマンドや「brew unlink」コマンドを使い分けることで、システム全体のパスを容易に制御できます。
また、より厳密な管理が必要なプロの開発現場では、Dockerを使用してプロジェクトごとに独立したPHP実行環境を構築するのが現代の主流となっています。
コマンドラインでPHPを活用するメリット
パスを通すことで、Webサーバー経由だけでなく、直接コンピュータ上でPHPを動かせるようになります。
これにより、バッチ処理の自動化や、PHPUnitによるユニットテストの実行が可能になります。
また、ComposerなどのパッケージマネージャはCLI(コマンドラインインターフェース)環境が前提となっているため、パスの設定はモダンなPHP開発の第一歩と言えます。
一度正しく設定してしまえば、日々の開発効率は飛躍的に向上するはずです。
まとめ
PHPのパスを通す作業は、初心者にとって最初のハードルとなりやすい部分ですが、その仕組みはシンプルです。
OSに対して「PHPの実行ファイルはここにあるよ」と教えてあげるだけで、強力なコマンドライン機能が解放されます。
Windowsであれば環境変数ウィンドウ、macOSやLinuxであればシェル設定ファイルを正しく編集することが重要です。
設定が反映されない時は、まず再起動とパスのスペルチェックを行い、優先順位が正しいかを確認しましょう。
適切な環境構築を行うことで、エラーに悩まされる時間を減らし、本来の目的であるプログラミングに集中できる環境を整えてください。
