CentOS8 に PHP7.4 インストール

CentOS8 に PHP7.4 インストール

2021-01-176 min read

目次

  1. 概要
  2. 環境
  3. 普通にインストールしようとするとphp72がインストールされる
  4. modularityについて
  5. php74-インストール

概要

CentOS8 に modularity を利用して PHP7.4をインストールした際のメモです。

環境

  • CentOS8.3 (docker)
cat /etc/redhat-release 
CentOS Linux release 8.3.2011

※ ここで紹介している操作は全てrootユーザで実施しています。

普通にインストールしようとするとphp7.2がインストールされる

dnfコマンドで dnf install php といった感じに普通にインストールしようとするとphp7.2がインストールされます。

modularityについて

modularity は RHEL 8/Fedora 28 から導入されたアプリケーションのライフサイクルをOSのライフサイクルから独立させるための新しい仕組です。

※ modularity についてはこちらを参考にさせていただきました。

RHEL 8/Fedora 28で導入されたModularity - 赤帽エンジニアブログ

このようにphpのバージョンを選択して導入することができます。

$ dnf module list php
Last metadata expiration check: 0:01:43 ago on Sun Jan 17 06:20:09 2021.
CentOS Linux 8 - AppStream
Name        Stream         Profiles                          Summary                      
php         7.2 [d]        common [d], devel, minimal        PHP scripting language       
php         7.3            common [d], devel, minimal        PHP scripting language       
php         7.4            common [d], devel, minimal        PHP scripting language       
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

php7.4 インストール

とりあえず、php7.4をインストールする場合は以下のコマンドを実施します。

$ dnf module install php:7.4
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:24:01 ago on Sun Jan 17 06:20:09 2021.
Dependencies resolved.
==============================================================================================
 Package             Arch      Version                                     Repository    Size
==============================================================================================
Installing group/module packages:
 php-cli             x86_64    7.4.6-4.module_el8.3.0+434+2ab5050a         appstream    3.1 M
 php-common          x86_64    7.4.6-4.module_el8.3.0+434+2ab5050a         appstream    696 k
 php-fpm             x86_64    7.4.6-4.module_el8.3.0+434+2ab5050a         appstream    1.6 M
 php-json            x86_64    7.4.6-4.module_el8.3.0+434+2ab5050a         appstream     74 k
 php-mbstring        x86_64    7.4.6-4.module_el8.3.0+434+2ab5050a         appstream    484 k
 php-xml             x86_64    7.4.6-4.module_el8.3.0+434+2ab5050a         appstream    174 k
Installing dependencies:
 httpd-filesystem    noarch    2.4.37-30.module_el8.3.0+561+97fdbbcc       appstream     37 k
 libedit             x86_64    3.1-23.20170329cvs.el8                      baseos       102 k
 libxslt             x86_64    1.1.32-5.el8                                baseos       250 k
 nginx-filesystem    noarch    1:1.14.1-9.module_el8.0.0+184+e34fea82      appstream     24 k
 oniguruma           x86_64    6.8.2-2.el8                                 appstream    187 k
Installing module profiles:
 php/common                                                                                  
Enabling module streams:
 httpd                         2.4                                                           
 nginx                         1.14                                                          
 php                           7.4                                                           

Transaction Summary
==============================================================================================
Install  11 Packages

Total download size: 6.6 M
Installed size: 28 M
Is this ok [y/N]:

y を 入力。

インストール完了後、dnf install phpを実施する。

$ dnf install php
Last metadata expiration check: 0:26:33 ago on Sun Jan 17 06:20:09 2021.
Dependencies resolved.
==================================================================================
 Package            Arch   Version                                Repo       Size
==================================================================================
Installing:
 php                x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a    appstream 1.5 M
Installing dependencies:
 apr                x86_64 1.6.3-11.el8                           appstream 125 k
 apr-util           x86_64 1.6.1-6.el8                            appstream 105 k
 brotli             x86_64 1.0.6-2.el8                            baseos    322 k
 centos-logos-httpd noarch 80.5-2.el8                             baseos     24 k
 httpd              x86_64 2.4.37-30.module_el8.3.0+561+97fdbbcc  appstream 1.7 M
 httpd-tools        x86_64 2.4.37-30.module_el8.3.0+561+97fdbbcc  appstream 104 k
 mailcap            noarch 2.1.48-3.el8                           baseos     39 k
 mod_http2          x86_64 1.15.7-2.module_el8.3.0+477+498bb568   appstream 154 k
Installing weak dependencies:
 apr-util-bdb       x86_64 1.6.1-6.el8                            appstream  25 k
 apr-util-openssl   x86_64 1.6.1-6.el8                            appstream  27 k
 php-opcache        x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a    appstream 267 k
 php-pdo            x86_64 7.4.6-4.module_el8.3.0+434+2ab5050a    appstream 123 k

Transaction Summary
==================================================================================
Install  13 Packages

Total download size: 4.5 M
Installed size: 13 M
Is this ok [y/N]:

再び y を入力。これでインストールが完了します。

$ php --version
PHP 7.4.6 (cli) (built: May 12 2020 08:09:15) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.6, Copyright (c), by Zend Technologies
Tags
javascript(109)
linux(54)
node.js(53)
amazon%20aws(47)
typescript(44)
%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0(36)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86(30)
html5(29)
php(24)
centos(24)
python(22)
%E7%AB%B6%E6%8A%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0(21)
mac(21)
mysql(20)
canvas(19)
opencv(17)
%E9%9B%91%E8%AB%87(16)
docker(16)
wordpress(15)
atcoder(14)
apache(12)
%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92(12)
%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9(12)
amazon%20s3(12)
red%20hat(12)
prisma(12)
ubuntu(11)
github(10)
git(10)
vue.js(10)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86100%E6%9C%AC%E3%83%8E%E3%83%83%E3%82%AF(10)
mariadb(10)
react(9)
aws%20cdk(9)
css3(8)
%E5%8F%AF%E8%A6%96%E5%8C%96(8)
%E5%B0%8F%E3%83%8D%E3%82%BF(8)
nestjs(8)
amazon%20lightsail(7)
next.js(7)
%E3%83%96%E3%83%AD%E3%82%B0(6)
cms(6)
oracle(6)
perl(6)
gitlab(6)
iam(5)
amazon%20ec2(5)
%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93(5)
aws%20amplify(5)
curl(4)
Author
githubzennqiita
ただの備忘録です。

※外部送信に関する公表事項