[CentOS] CentOS7.6にPHP7.3をインストール

※当サイトでは広告を掲載しています

CentOS7.6には、デフォルトでPHP5.4がインストールされます。

今となっては古いPHPになってしまいますが、商用ディストリビューションのRed Hat Enterprise Linux(RHEL)のソースを元に作られているCentOSでは、RHELに合わせたバージョンのパッケージが採用されます。

RHELではこういった古いパッケージも、サポート期間内であればベンダーが独自にサポートするので、問題があればアップデートされます。RHELのポリシーに準拠しているCentOSも、もちろんアップデートされます。

ですので、古いバージョンだからといって欠陥があるわけではなく、安心して使うことができます。

が、今回は本番環境でPHPを7.3にアップデートするため、テスト環境となる今回構築している環境でも、PHPを7.3にアップデートする必要があるのです。

PHP5.4をアンインストール

PHP5.4から7.3にアップデートするには、結局のところ、入れ直す方が手っ取り早い。どうせ新規でセットアップしているサーバですし、今までの環境を残す必要もありません。

ということで、PHP関係一切をすっぱりアンインストールします。

# yum remove php-*

PHP7.3はRemiリポジトリが必要

新しいバージョンのPHPをインストールするには、標準のリポジトリではなく、Remiリポジトリが必要になります。

Remiリポジトリを有効にしていない方は、まずリポジトリの追加を行いましょう。別記事で手順を紹介しています。

[CentOS] CentOS7.6のyumリポジトリにEPELとRemiを追加
CentOS7.6には、PHPが5.4、MySQLは互換DBのMariaDB5.5が入っていました。 今回構築している環境は、公開前のWebサイトを構築するテストサーバ的な動作もさせたいので、本番用サーバと仕様を合わせたい。 本番用サーバで...

PHP7.3をインストール

PHP5.4を削除し、Remiリポジトリの設定ができたら、いよいよPHP7.3をインストールします。

旧バージョンのPHPが指定されてしまうことを防ぐため、一旦全てのリポジトリを無効化し、PHP7.3のリポジトリを決め打ちで指定します。

# yum install --disablerepo=* --enablerepo=remi,remi-php73 php

Remiリポジトリ追加の記事で、EPELの公開鍵を取得するために libargon2 というパッケージをインストールしていますが、このパッケージは、PHP7.3を入れる際に依存性パッケージとして必要になります。

もし libargon2 をインストールしないまま、上記インストールコマンドを叩くと、おそらくEPELがないために依存性が解決されません。

PHP7.3を入れる前に、単体でインストールしておくことをおすすめします。

# yum install --disablerepo=* --enablerepo=epel libargon2

バージョンを確認して7.3になっていればOK

以上でインストールが完了です。あとは、運用していくうえで必要な関連パッケージがあれば、適宜追加しましょう。

最後に、PHPのバージョンを確認してみます。

# php -v
PHP 7.3.2 (cli) (built: Feb 5 2019 13:10:03) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies

無事、7.3になりました。お疲れ様でした!

初稿:2019年2月16日
[CentOS] 不要PCにCentOS7.6をインストール
4年ほど前、サポートが切れて使わなくなったWindowsServer2003の本体を使って、テスト環境用にLinuxサーバを構築しました。 途中で何度かアップデートをし、現在はCentOS6.10+PHP5.6で動作しています。 しかし、こ...
[CentOS] CentOS7.6でtelnetが自動起動してくれない!
不要PCにCentOS7.6をインストールし、最低限の設定が終わったところまで、前回の記事でまとめました。 その日の作業が終わったところで、一旦PCの電源を切っていたのですが、翌日起動してみるとtelnetがつながらない!コンソールからログ...
[CentOS] CentOS7.6のSamba4で認証なし共有がうまくいかない
既存のCentOS6.10+Samba3.6の環境で、htdocsとshareのふたつのディレクトリを、認証なしで接続できるように設定しています。 その設定ファイルを、そのままCentOS7.6+Samba4.8の環境に持ってきたら、なぜか...
[CentOS] CentOS7.6にMySQL5.6をインストールする
CentOS7.6でデフォルトでインストールできるMySQLは、MariaDBというMySQL派生のDBです。 MySQLとほぼ同じなので、そのまま使っても特に問題はないのですが、本番環境でMySQL5.6を使うにあたり、同じバージョンに揃...

コメント

タイトルとURLをコピーしました