Vagrant上のUbuntu14.04にPHP7をインストール

タイトル通り挑戦してみる。
果たしてうまく行くのだろうか。

まずはリポジトリを追加。
個人で公開されているもの?かもしれないリポジトリなのでバグがあっても怒らないように。みたいな感じでした。この記事の通りにインストールして誤作動した場合でも一切の責任は取りませんので悪しからず。

sudo add-apt-repository ppa:ondrej/php

そしてアップデート

sudo apt-get update

そしてインストール。

sudo apt-get install php7.0

MySQLも使っているのでこちらもインストール

sudo apt-get install php7.0-mysql

apacheをリスタート

sudo service apache2 restart

PHPのバージョン確認

php --version

すると

PHP 7.0.27-1+ubuntu14.04.1+deb.sury.org+1 (cli) (built: Jan 11 2018 23:19:41) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27-1+ubuntu14.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies

こうなっていました。

前回親Ubuntuからvagrant内のUbuntuにブラウザからアクセスできるようにしておいたので

phpinfo();

と書いたphpファイルを入れて確認。

はい。

はい?

apache上はまだPHP5だと・・・。
PHP5のコンフィグファイルが残っている状態なのでこうなっているみたいです。
というわけで設定。

sudo apt-get update
sudo apt-get purge php5-fpm
sudo apt-get --purge autoremove
sudo apt-get install php7.0-fpm php7.0-mysql php7.0 libapache2-mod-php7.0

apache2の設定ディレクトリへ移動する。

/etc/apache2/mods-enabled

元のPHPバージョンのシンボリックリンクを無効にするために
「php5.conf」「php5.load」というシンボリックリンクがあるので、この2つをリネームしてそれぞれ「php5.conf.org」「php5.load.org」に変更。

sudo mv php5.conf php5.conf.org
sudo mv php5.load php5.load.org

代わりにphp7.0へのシンボリックリンクを作成。

sudo ln -s /etc/apache2/mods-available/php7.0.conf php7.0.conf
sudo ln -s /etc/apache2/mods-available/php7.0.load php7.0.load

そして願いを込めてapache再起動。

sudo service apache2 restart

できましたー!

Linux, MySQL, PHP

Posted by bistro