約3年ぶりにLaravelの環境を構築する必要があったのでPHPのインストールを行うことにしました。
yum等のパッケージマネージャーでインストールすると複数バージョンの共存が面倒な記憶があったのでソースからインストールすることにしました。
pyenv等で複数のPython環境を共存させることがすごい効率がよかったのでPHP版もあるかなと思って探したところphpenvが見つかりました。
最近レポジトリの更新があまりないので、もしかしたら主流ではないのかもしれませんが、ほかを探している時間もあまりなかったのでphpenvを使うことにしたのでインストール手順を残します。
# PHPのビルドに必要なパッケージをインストールする
sudo apt -y install build-essential
sudo apt -y install libxml2-dev libssl-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libmcrypt-dev libreadline-dev libtidy-dev libxslt-dev libzip-dev autoconf pkg-config
# phpenvをインストールする
git clone git://github.com/phpenv/phpenv.git ~/.phpenv
# zshrcにパス設定をする(bashでも同様の手順だと思われます。)
echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(phpenv init -)"' >> ~/.zshrc
exec $SHELL -l
# phpenvが正しく実行できているか確認する、正しく実行できればphpenvをインストールしたパスが表示される
phpenv root
# phpをビルドするためのプラグインをインストールする
git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build
# インストールできるPHPの一覧を表示する、今回は7.3系をインストールする
phpenv install -l | grep 7.3
# phpをインストールしてグローバルに設定する
phpenv install 7.3.26
phpenv rehash
phpenv global 7.3.26
# 正しく設定されているか確認する
php -v # PHP 7.3.26
という感じでインストールすることができます。
開発目的だとLaravelはビルドインサーバーで起動することも多いので、phpのバージョンはプロジェクトごとに変更できたほうが便利です。