【PHP】phpenvでPHP8.4をインストールする方法

PHP

複数バージョンのPHPを管理するツールphpenvですが、2024年10月以降は更新がされずに放置されており、PHP8.4のインストールができない状態です。

※2025/05/09追記: mzchさんがOpenしたプルリクエスト#785は、2025/05/06にmasterブランチへマージされました(by madumlaoさん)。

今後は、通常のアップデート方法で対応可能です。

phpenv update

追記編集時点(2025/05/09)では、本日リリースされたばかりのPHP8.4.7までインストール可能です。

もし、当記事の内容に従って、mzchさんのリポジトリから上書きした場合はエラーとなるので、次の手順でリポジトリをphpenv公式のmasterブランチに戻してください。

cd ~/.phpenv/plugins/php-build
git reset --hard origin/master
phpenv update

この手順を実行すれば、当記事の以降の内容は対応不要です。

それに伴い、mise、asdf、vfox 等、他ツールへの乗り換えをする記事を書いていました。

ところが、PHPが期待した状態でコンパイルされていない、またはバージョンの適用が不安定等の不都合があり、結局は動作が安定しているphpenvを使い続けたいと思ってしまったわけです。

前提条件

  • Ubuntu上で作業しています
  • Gitインストール済
  • Githubアカウント取得済
  • phpenvを ~/.phpenv/ にインストール済

注意事項

これから紹介する方法は正規の手順ではないため、実施に際しての事象については自己責任でお願いいたします。

mise、asdf、vfox等をインストールしている場合は、~/.bashrc の該当行をコメントアウトして無効にしてからターミナルを全て閉じ、シェル環境をリセットしてから phpenv を使用してください。

やることの概要

変更前の状態確認

正規のphpenvでインストールできるPHP8系の最新バージョンは、8.1.30、8.2.25、8.3.13 です。

当記事執筆時点(2025/03/30)でのPHP8系の最新バージョンは、8.1.32、8.2.28、8.3.19、8.4.5 です。

ブランチをクローン

執筆時点現在、phpenvでPHP8.4をインストールできる環境が維持されているのは、 mzch さんが Openしたプルリクエストの元ブランチである、mzch/php-build の UPDATE-XDEBUG ブランチです。

このブランチをローカルに「mzch-php-build」としてクローンします。

git clone -b UPDATE-XDEBUG https://github.com/mzch/php-build.git mzch-php-build

フォルダ「mzch-php-build」が作成されるので、中に入ります。

cd mzch-php-build

ブランチの内容を上書きコピー

上記のクローンしたブランチの内容を丸ごと「~/.phpenv/plugins/php-build/」に上書きコピーします。

cp -raf ./* ~/.phpenv/plugins/php-build/

PHP8.4をインストール

これでPHP8.4をインストールできるようになりました。

試しに、PHP8.4.5をimagick拡張付きでインストールしてみます。

PHP_BUILD_INSTALL_EXTENSION="imagick=@" phpenv install 8.4.5

PHP8.4.5のインストールが完了しました。

shimをリビルドしてからバージョンを確認してみます。

phpenv rehash

PHP8.4.5に切り替えてみます。

phpenv global 8.4

PHP8.4.5が使えるようになりました。

アップデートの仕方

今後、mzchさんがアップデートをやめない限りは、php-buildのリポジトリをwatchして、更新があったら内容を確認してから、

1.mzch-php-build フォルダ内で 「git pull origin」を実行する。

2.mzch-php-build の内容を 「~/.phpenv/plugins/php-build/」に上書きコピーする。

をすることでアップデートできます。

以上です。

  • 0
  • 0
  • 0
  • 0

コメント

タイトルとURLをコピーしました