phpenvを使ってUbuntu20.04にPHPをインストールする手順

公開日:2022/07/11 更新日:2022/07/11
phpenvを使ってUbuntu20.04にPHPをインストールする手順のサムネイル

phpenvを使ってUbuntu20.04にPHPをインストールする手順をまとめます。

はじめに

phpenvを使ってUbuntu20.04にPHPをインストールしたのでその手順をまとめます。phpenvを使うことで、システム全体で使うPHPのバージョンや使うPHPバージョンを特定のディレクトリ毎に分けたり、複数のPHPのバージョンをインストールしたりできるようになります。

前提と環境

  • Ubuntu20.04

phpenvをインストール

PHPをインストールするためにはじめにphpenvをUbuntuにインストールします。インストール手順は公式リポジトリに記載の手順に従います。まず以下をターミナルで実行します。

 $ git clone git@github.com:phpenv/phpenv.git ~/.phpenv

上記の実行結果は以下のようになります。

$ git clone git@github.com:phpenv/phpenv.git ~/.phpenv
Cloning into '/home/robusware/.phpenv'...
remote: Enumerating objects: 1213, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 1213 (delta 3), reused 0 (delta 0), pack-reused 1205
Receiving objects: 100% (1213/1213), 235.52 KiB | 554.00 KiB/s, done.
Resolving deltas: 100% (748/748), done.

なお、もし以下のように表示されてしまう場合は、GitHubへの接続ができていないため、自身のGitHubアカウントでGitHubに対してSSH接続できるようになっているか確認が必要です。

$ git clone git@github.com:phpenv/phpenv.git ~/.phpenv
Cloning into '/home/robusware/.phpenv'...
The authenticity of host 'github.com' can't be established.
ECDSA key fingerprint is SHA256:2sdllsaj37dhj9ejsopjke8wh.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ECDSA) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

設定ファイル

続いて以下を実行してパスを通します。これによってどのディレクトリからでもphpenvコマンドを使えるようにします。

$ echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.bashrc

CentOSの場合はデフォルトだとbashrcではなくbash_profileになるので以下のようにします。

$ echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.bash_profile

初期化

続いて以下を実行してphpenvを初期化します。

$ echo 'eval "$(phpenv init -)"' >> ~/.bashrc

CentOSの場合は以下。

$ echo 'eval "$(phpenv init -)"' >> ~/.bash_profile

ターミナルを再起動する

以下を実行してターミナルを再起動し、上記までの設定を反映させます。

$ exec $SHELL -l

php-buildをインストールする

phpenvと一緒に使うphp-buildも一緒にインストールしておきます。php-buildによって指定したバージョンのPHPをインストールすることができます。以下を実行してphp-buildのインストールは完了します。

$ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build
Cloning into '/home/robusware/.phpenv/plugins/php-build'...
remote: Enumerating objects: 10754, done.
remote: Counting objects: 100% (1297/1297), done.
remote: Compressing objects: 100% (432/432), done.
remote: Total 10754 (delta 1115), reused 932 (delta 765), pack-reused 9457
Receiving objects: 100% (10754/10754), 1.31 MiB | 19.22 MiB/s, done.
Resolving deltas: 100% (8167/8167), done.

phpenvを使ってPHPをインストールする

以下によってインストール可能なPHPのバージョン一覧を表示できます。

$ phpenv install -l

以下のようにバージョンを指定してPHPをインストールできます。

$ phpenv install 8.0.15

PHPをインストールした後、rehashを実行して反映します。

$ phpenv rehash

ローカルで使用するバージョンを指定する

以下のようにphpenv localを使うことで特定のディレクトリ配下でのみ使うPHPのバージョンを指定できます。以下ではphpenv localを実行したディレクトリでPHP8.0.15を使えるようになります。

$ phpenv local 8.0.15
$ phpenv rehash

バージョン確認

以下のようにバージョンを確認し、表示されれば問題なくPHPをインストールできています。

$ php -v
PHP 8.0.15 (cli) (built: Jul  9 2022 17:16:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.15, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.15, Copyright (c), by Zend Technologies
    with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans

まとめ

RubyのrbenvやPythonのpyenvのようにphpenvも簡単に利用できました。

関連記事