Web開発をする際は基本的にdocker-composeを利用するようにしたのですが、
ゲストOSで生成した(php artisan make:controller TestController)ファイルが権限の問題でホスト側で編集不可になる問題が発生した。
いちいち権限を変えるのも面倒なので、ホストOSにもphpを導入することにした。
単純にphpを導入すると、今後別プロジェクトに支障がありそうなので、phpenvでPHPのバージョン管理することにした。
インストール
1. phpenvをダウンロード&インストール
$ git clone https://github.com/madumlao/phpenv.git ~/.phpenv
2. php-buildをダウンロード&インストール
$ git clone https://github.com/php-build/php-build.git ~/.phpenv/plugins/php-build
3. 必要ライブラリを導入
$ sudo apt install -y g++ \ libxml2 \ libxml2-dev \ libssl-dev \ pkg-config \ zlib1g-dev \ libbz2-dev \ libjpeg-dev \ libpng-dev \ libreadline-dev \ libtidy-dev \ libcurl4-openssl-dev \ libmcrypt-dev \ libxslt1.1 \ libxslt-dev (当方の環境にすでにインストール済みのライブラリがある場合、記載に不足あるかもしれません。)
4. .bash_profile の編集
$ vi ~/.bash_profile # phpenv export PHPENV_ROOT="$HOME/.phpenv" export PATH="$PHPENV_ROOT/bin:$PATH" eval "$(phpenv init -)"
5. .bash_profileを読み込む
$ source ~/.bash_profile
phpenvの設定
1. インストール可能なPHPバージョンを確認する
$ phpenv install -l
2. PHP7.3.0をインストールする
$ phpenv install 7.3.0 $ phpenv rehash
3. インストール済みのバージョンを確認する
$ phpenv versions 7.3.0
4. 試しにPHPのバージョンを確認する
まだ存在しないことが確認できた。
$ php -v phpenv: php: command not found The `php' command exists in these PHP versions: 7.3.0
5. カレントディレクトリで利用するバージョン指定 (グローバルで利用するバージョンを指定)
$ phpenv local 7.3.0 ($ phpenv global 7.3.0)
6. 再度PHPバージョンを確認する
$ php -v PHP 7.3.0 (cli) (built: Sep 4 2019 08:52:21) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.0, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans
7. 試しに違うディレクトリ配下でPHPのバージョンを確認
$ php -v phpenv: php: command not found The `php' command exists in these PHP versions: 7.3.0
導入完了!