LoginSignup
1

posted at

PHPのバージョンをプロジェクトごとに切り替える方法

はじめに

今回はphpenvの導入~使用方法までを紹介します。

  • 導入の発端
    Jenkinsのビルド時にジョブごとにPHPのバージョンの切り替えを可能にして
    依存関係エラーの解消をするために使用。

Jenkinsのシェルからコマンドを打つ場合は、
最初にsource ~/.bash_profileを実行しないと.bash_profileは反映されない。

インストール

phpenv

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

環境変数へ追記

$ echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(phpenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

シェルの再起動

$ exec $SHELL -l

php-build

$ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build

phpenvからダウンロード可能なバージョンを確認

$ phpenv install -l

PHPをインストール

$ phpenv install {version} 

パッケージエラーが多発する可能性があるため
yumで追加、更新する必要がある。

PHPでlibzipを動作させるためには、libzip0.11以上のバージョンが必要だが
yumで入れる場合は、0.10.1までなので公式サイトからダウンロードが必要。

コマンド

切り替え可能なバージョン一覧を表示

$ phpenv versions 

カレントディレクトリでPHPを切り替え

$ phpenv local {version} 

システム全体のPHPを切り替え

$ phpenv global {version} 

hashの更新

$ phpenv rehash

アップグレード

$ cd ~/.phpenv
$ git pull

参考

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
What you can do with signing up
1