LoginSignup
6
2

More than 5 years have passed since last update.

初心者がPHP5.4からPHP7.1へバージョンアップしてみた

Posted at

前書き

なぜか最新のバージョンでないPHP5.4をインストールしてしまっていたので、PHP7.1をインストールし直しました。
備忘録としてここに残します。
私自身、PHPをちゃんと書きはじめて3ヶ月程度のペーペーなので、おかしい箇所がいくつかあるかもしれませんがその際はご指摘いただけると幸いです。

環境

CentOS 7.4.1708
Apache 2.4.6

手順

1. epelリポジトリ、remiリポジトリをインストール

まずepel?remi?リポジトリ?って感じですが、こちらによると

レポジトリとは動作の確認できているコンパイル済みのバイナリファイルを集めたストレージのことで、自分でわざわざソースコードの入手・コンパイルなどを行わなくても簡単に導入できます。
またソフトウェアが必要としているソフトウェアの依存性も自動的に検出して、必要な物も一緒にインストールしてくれます。

とのことです。
つまり、そのままPHPをインストールしようとするとソースコードを入手したりコンパイルをしたりしなければなりませんが、
epelやremiを使えば、そういった煩わしい手順を省いて簡単にインストールができるということですね。

ということでまず最初にインストールします。

$ sudo yum install epel-release
$ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

2. バージョンの確認

$ rpm -qa | grep php
php-cli-5.4.16-43.el7_4.x86_64
php-pdo-5.4.16-43.el7_4.x86_64
php-common-5.4.16-43.el7_4.x86_64
php-mbstring-5.4.16-43.el7_4.x86_64
php-mysqlnd-5.4.16-43.el7_4.x86_64
php-5.4.16-43.el7_4.x86_64

5.4.1が入っています。

3. 念のため設定ファイルを避難

$ cp /etc/php.ini /tmp

4. 古いバージョンのPHPを削除

$ sudo yum remove php-*
削除しました:
  php.x86_64 0:5.4.16-43.el7_4                  php-cli.x86_64 0:5.4.16-43.el7_4              
  php-common.x86_64 0:5.4.16-43.el7_4           php-mbstring.x86_64 0:5.4.16-43.el7_4         
  php-mysqlnd.x86_64 0:5.4.16-43.el7_4          php-pdo.x86_64 0:5.4.16-43.el7_4

3. PHP7.1をダウンロード

$ sudo yum install --disablerepo=* --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt

よしこれで完了だ!ということで動作確認をしてみると、MysqlのPDOが使えず、could not find driverと出てしまう。
phpinfo()で確認してみると…
driverにmysqlがない!

てことでmysqlndパッケージをインストールしてみる。

$ sudo yum install --enablerepo=remi-php70 php-mysqlnd

Apache再起動。

$ sudo systemctl restart httpd

で、ようやくちゃんと動きました。
ただダウンロードするだけでなくいろいろパッケージを入れておかねばならないんですね。

参考

http://zudoh.com/archives/144
https://qiita.com/ozawan/items/caf6e7ddec7c6b31f01e
https://qiita.com/toriiico/items/e2d951bc7e598d7609fb

6
2
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
6
2