11
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu 18.04 LTS に phpenvをインストールしphpのバージョンを切り替える

Last updated at Posted at 2019-06-12

Ubuntu 18.04 LTS にphpenvをインストール、phpバージョンを切り替えるまでの手順です。

利用したクラウドサービス

Google Compute Engine
構成:4コア/16GB
ブートディスク:Ubuntu 18.04 LTS(amd64 bionic image built on 2019-05-30)

パッケージの更新

$ sudo apt-get update
$ sudo apt-get -y upgrade

phpenvのインストール

公式のインストーラーを利用する。Readmeの手順に従いインストールする。
https://github.com/phpenv/phpenv-installer

$ curl -L https://raw.githubusercontent.com/phpenv/phpenv-installer/master/bin/phpenv-installer \
    | bash

インストール後のメッセージに従い.bash_profileに設定を追加する。

WARNING
 |  # Seems you still have not added 'phpenv' to the load path.
 |  
 |  # Load phpenv automatically by adding
 |  # the following to ~/.bash_profile:
export PHPENV_ROOT="/home/your_user_name/.phpenv"
if [ -d "${PHPENV_ROOT}" ]; then
  export PATH="${PHPENV_ROOT}/bin:${PATH}"
  eval "$(phpenv init -)"
fi
$ vi ~/.bash_profile
$ source ~/.bash_profile    # profileの再読込

バージョンを表示して利用できることを確認

$ phpenv -v

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 autoconf

phpのバージョン切り替え

installコマンドでビルドが始まる。完了するまで5-10分ほど。

$ export PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4  # php-buildによるビルドを複数スレッド使って高速化する
$ phpenv install 7.2.19

ビルドが完了したらphpのバージョンを切り替えて完了。

$ phpenv global 7.2.19
$ php -v
PHP 7.2.19 (cli) (built: Jun 12 2019 13:51:06) ( NTS )
11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?