概要
CentOS7へのPHPのインストールはyumを使うが、公式のリポジトリ―ではバージョン5まででPHP7系がインストールできない。
PHP7をインストールするのに、sudo yum install php73 php73-php ...
とすると、起動コマンドがphp73
になる。これをphp
で起動できるようにするのにRemi Repositoryを使わせてもらう。Remi Repositoryをインストールするに当たってはEPEL (Extra Packages for Enterprise Linux)が必要になる。
Remi RepositoryのサイトにあるConfiguration Wizardで条件を指定して、必要な情報を得ておく。設定条件は、
- Operating system: CentOS7 (maintained until June 2024)
- Wanted PHP version: 7.3.28 (security only support until December 2021)
- Type of installation: Default / Single version (simplest way)
Wizard answerとして以下を含む情報が得られる。
- Command to install the EPEL repository configuration package:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- Command to install the Remi repository configuration package:
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
- PHP version 7.3 packages are available for CentOS 7 in remi-php73 repository
- Command to upgrade (the repository only provides PHP):
yum update
- Command to install additional packages:
yum install php-xxx
yumのアップデート
念のため。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[vagrant@localhost ~]$ sudo yum -y update 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile epel/x86_64/metalink | 8.8 kB 00:00:00 * base: ftp.riken.jp * epel: nrt.edge.kernel.org * extras: ftp.riken.jp * updates: ftp.riken.jp base | 3.6 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00 mysql-connectors-community | 2.6 kB 00:00:00 mysql-tools-community | 2.6 kB 00:00:00 mysql80-community | 2.6 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/2): epel/x86_64/updateinfo | 1.0 MB 00:00:03 (2/2): epel/x86_64/primary_db | 6.9 MB 00:00:15 No packages marked for update |
EPELのインストール
yumアップデートでEPELがインストール済みとわかる。インストール済みのリストをとってみると
1 2 3 |
[vagrant@localhost ~]$ sudo yum list | grep epel- epel-release.noarch 7-13 @epel epel-rpm-macros.noarch 7-30 epel |
EPELをインストールする手順の覚え書き。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
[vagrant@localhost ~]$ sudo yum -y install epel-release 読み込んだプラグイン:fastestmirror Determining fastest mirrors epel/x86_64/metalink | 9.0 kB 00:00:00 * base: ftp.riken.jp * epel: nrt.edge.kernel.org * extras: ftp.riken.jp * updates: ftp.riken.jp base | 3.6 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00 mysql-connectors-community | 2.6 kB 00:00:00 mysql-tools-community | 2.6 kB 00:00:00 mysql80-community | 2.6 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/8): mysql-connectors-community/x86_64/primary_db | 80 kB 00:00:00 (2/8): mysql-tools-community/x86_64/primary_db | 88 kB 00:00:00 (3/8): mysql80-community/x86_64/primary_db | 165 kB 00:00:00 (4/8): epel/x86_64/updateinfo | 1.0 MB 00:00:00 (5/8): epel/x86_64/group_gz | 96 kB 00:00:01 (6/8): extras/7/x86_64/primary_db | 242 kB 00:00:03 (7/8): epel/x86_64/primary_db | 6.9 MB 00:00:05 (8/8): updates/7/x86_64/primary_db | 8.8 MB 00:00:10 パッケージ epel-release-7-13.noarch はインストール済みか最新バージョンです 何もしません |
Remiリポジトリーのインストール
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
[vagrant@localhost ~]$ sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm 読み込んだプラグイン:fastestmirror remi-release-7.rpm | 23 kB 00:00:00 /var/tmp/yum-root-LSpJI8/remi-release-7.rpm を調べています: remi-release-7.9-1.el7.remi.noarch /var/tmp/yum-root-LSpJI8/remi-release-7.rpm をインストール済みとして設定しています 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ remi-release.noarch 0:7.9-1.el7.remi を インストール --> 依存性解決を終了しました。 依存性を解決しました ======================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ======================================================================================== インストール中: remi-release noarch 7.9-1.el7.remi /remi-release-7 31 k トランザクションの要約 ======================================================================================== インストール 1 パッケージ 合計容量: 31 k インストール容量: 31 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : remi-release-7.9-1.el7.remi.noarch 1/1 検証中 : remi-release-7.9-1.el7.remi.noarch 1/1 インストール: remi-release.noarch 0:7.9-1.el7.remi 完了しました! |
PHP73リポジトリーの有効化
/etc/yum.repos.d/remi-php73.repo
を編集。
1 |
[vagrant@localhost ~]$ sudo vi /etc/yum.repos.d/remi-php73.repo |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[vagrant@localhost ~]$ cat /etc/yum.repos.d/remi-php73.repo # This repository only provides PHP 7.3 and its extensions # NOTICE: common dependencies are in "remi-safe" [remi-php73] name=Remi's PHP 7.3 RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/php73/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/php73/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/php73/mirror enabled=1 #0となっているのを1に変更 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php73-debuginfo] ..... |
PHP本体のインストール
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
[vagrant@localhost ~]$ sudo yum install --enablerepo=remi,remi-php73 php 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.riken.jp * epel: nrt.edge.kernel.org * extras: ftp.riken.jp * remi: ftp.riken.jp * remi-php73: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ftp.riken.jp remi | 3.0 kB 00:00:00 remi-php73 | 3.0 kB 00:00:00 remi-safe | 3.0 kB 00:00:00 (1/3): remi-php73/primary_db | 242 kB 00:00:00 (2/3): remi-safe/primary_db | 2.0 MB 00:00:01 (3/3): remi/primary_db | 3.0 MB 00:00:01 依存性の解決をしています ..... file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi から鍵を取得中です。 Importing GPG key 0x00F97F56: Userid : "Remi Collet <RPMS@FamilleCollet.com>" Fingerprint: 1ee0 4cce 88a4 ae4a a29a 5df5 004e 6f47 00f9 7f56 Package : remi-release-7.9-1.el7.remi.noarch (@/remi-release-7) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi 上記の処理を行います。よろしいでしょうか? [y/N]y ..... インストール: php.x86_64 0:7.3.28-1.el7.remi 依存性関連をインストールしました: apr.x86_64 0:1.4.8-7.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd.x86_64 0:2.4.6-97.el7.centos httpd-tools.x86_64 0:2.4.6-97.el7.centos libargon2.x86_64 0:20161029-3.el7 mailcap.noarch 0:2.1.41-2.el7 php-cli.x86_64 0:7.3.28-1.el7.remi php-common.x86_64 0:7.3.28-1.el7.remi php-json.x86_64 0:7.3.28-1.el7.remi 完了しました! |
インストールの確認。
1 2 3 4 |
[vagrant@localhost ~]$ php -v PHP 7.3.28 (cli) (built: Apr 27 2021 13:57:06) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.28, Copyright (c) 1998-2018 Zend Technologies |
この時点でインストールされているパッケージの確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[vagrant@localhost ~]$ yum list installed php* 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ty1.mirror.newmediaexpress.com * epel: nrt.edge.kernel.org * extras: ty1.mirror.newmediaexpress.com * remi-php73: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ty1.mirror.newmediaexpress.com インストール済みパッケージ php.x86_64 7.3.28-1.el7.remi @remi-php73 php-cli.x86_64 7.3.28-1.el7.remi @remi-php73 php-common.x86_64 7.3.28-1.el7.remi @remi-php73 php-json.x86_64 7.3.28-1.el7.remi @remi-php73 |
必要なパッケージのインストール
php-devel | php拡張を構築するのに必要なファイル |
php-opcache | バイトコード化アクセラレーター |
php-intl | 国際化関数 |
php-mbstring | マルチバイト文字関連 |
php-mysqlnd | MySQLネイティブドライバー |
php-pdo | PDO |
php-xml | XML利用 |
php-xmlrpc | XMLデータ交換 |
php-gd | 画像処理関連 |
基本的な機能
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[vagrant@localhost ~]$ sudo yum install --enablerepo=remi,remi-php73 php-devel php-opcache ..... インストール: php-devel.x86_64 0:7.3.28-1.el7.remi php-opcache.x86_64 0:7.3.28-1.el7.remi 依存性関連をインストールしました: autoconf.noarch 0:2.69-11.el7 automake.noarch 0:1.13.4-3.el7 libargon2-devel.x86_64 0:20161029-3.el7 libedit-devel.x86_64 0:3.0-12.20121213cvs.el7 libtool.x86_64 0:2.4.2-22.el7_3 libxml2-devel.x86_64 0:2.9.1-6.el7.5 perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-Test-Harness.noarch 0:3.28-3.el7 perl-Thread-Queue.noarch 0:3.02-2.el7 xz-devel.x86_64 0:5.2.2-1.el7 完了しました! |
国際化・マルチバイト
1 2 3 4 5 6 7 8 9 |
[vagrant@localhost ~]$ sudo yum install --enablerepo=remi,remi-php73 php-intl php-mbstring ..... インストール: php-intl.x86_64 0:7.3.28-1.el7.remi php-mbstring.x86_64 0:7.3.28-1.el7.remi 依存性関連をインストールしました: libicu65.x86_64 0:65.1-1.el7.remi oniguruma5php.x86_64 0:6.9.7.1-1.el7.remi 完了しました! |
データベース関係
1 2 3 4 5 6 |
vagrant@localhost ~]$ sudo yum install --enablerepo=remi,remi-php73 php-mysqlnd php-pdo ..... インストール: php-mysqlnd.x86_64 0:7.3.28-1.el7.remi php-pdo.x86_64 0:7.3.28-1.el7.remi 完了しました! |
XML関係
1 2 3 4 5 6 7 8 9 |
[vagrant@localhost ~]$ sudo yum install --enablerepo=remi,remi-php73 php-xml php-xmlrpc ..... インストール: php-xml.x86_64 0:7.3.28-1.el7.remi php-xmlrpc.x86_64 0:7.3.28-1.el7.remi 依存性関連をインストールしました: libxslt.x86_64 0:1.1.28-6.el7 完了しました! |
画像関係
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[vagrant@localhost ~]$ sudo yum install --enablerepo=remi,remi-php73 php-gd インストール: php-gd.x86_64 0:7.3.28-1.el7.remi 依存性関連をインストールしました: dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7 fontconfig.x86_64 0:2.13.0-4.3.el7 fontpackages-filesystem.noarch 0:1.44-8.el7 fribidi.x86_64 0:1.0.2-1.el7_7.1 gd-last.x86_64 0:2.3.2-1.el7.remi graphite2.x86_64 0:1.3.10-1.el7_3 harfbuzz.x86_64 0:1.7.5-2.el7 jbigkit-libs.x86_64 0:2.0-11.el7 libX11.x86_64 0:1.6.7-3.el7_9 libX11-common.noarch 0:1.6.7-3.el7_9 libXau.x86_64 0:1.0.8-2.1.el7 libXpm.x86_64 0:3.5.12-1.el7 libjpeg-turbo.x86_64 0:1.2.90-8.el7 libraqm.x86_64 0:0.7.0-4.el7 libtiff.x86_64 0:4.0.3-35.el7 libwebp7.x86_64 0:1.0.3-1.el7.remi libxcb.x86_64 0:1.13-1.el7 完了しました! |