ヘルプ:PHP 7.3 を Remi's RPM repository からインストール(CentOS8)

提供:あわ自由帳

メインページ > ヘルプ:目次 > ヘルプ:自宅サーバー構築(CentOS8)  > PHP 7.3 を Remi's RPM repository からインストール(CentOS8)

  • 自宅サーバーで、動作確認しています。導入される方は自己責任で行ってください。
  • Imagick 使えます。
  • WordPress 5.3.2 動作しています。
  • MediaWiki 1.34.1 動作しています。
  • dnf用リポジトリ追加(CentOS8)を導入済みとします。

CentOSバージョン確認

[root@host3 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

インストール

有効になっている PHP のバージョンを確認

[root@host3 ~]# dnf module list php
CentOS-8 - AppStream
Name               Stream                    Profiles                                Summary                            
php                7.2 [d]                   common [d], devel, minimal              PHP scripting language             
php                7.3                       common, devel, minimal                  PHP scripting language             

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name               Stream                    Profiles                                Summary                            
php                remi-7.2                  common [d], devel, minimal              PHP scripting language             
php                remi-7.3 [e]              common [d], devel, minimal              PHP scripting language             
php                remi-7.4                  common [d], devel, minimal              PHP scripting language             

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Stream切り替え

[root@host3 ~]# dnf distro-sync

[root@host3 ~]# dnf module reset php

[root@host3 ~]# dnf module enable php:remi-7.3

旧 php アンインストール

[root@host3 ~]# dnf remove php php-* php* php71*

[root@host3 ~]# php -v

[root@host3 ~]# rpm -qa | grep php

バージョン情報が出てこなければアンインストール完了です。

インストール実行

※行の長さの関係で途中に改行が入ってます。注意してください。

[root@host3 ~]# dnf --enablerepo=epel,remi,remi-safe install php php-cli php-devel php-common php-mbstring php-mysqlnd php-fpm php-gd 
php-gmp php-mcrypt php-opcache php-pdo php-xml php-json
・
・
依存関係が解決しました。
========================================================================================================================
 パッケージ                  Arch           バージョン                                       リポジトリー         サイズ
========================================================================================================================
インストール:
 php                         x86_64         7.3.17-1.el8.remi                                remi-modular         3.0 M
 php-cli                     x86_64         7.3.17-1.el8.remi                                remi-modular         4.6 M
 php-common                  x86_64         7.3.17-1.el8.remi                                remi-modular         1.1 M
 php-devel                   x86_64         7.3.17-1.el8.remi                                remi-modular         1.1 M
 php-fpm                     x86_64         7.3.17-1.el8.remi                                remi-modular         1.6 M
 php-gd                      x86_64         7.3.17-1.el8.remi                                remi-modular          89 k
 php-gmp                     x86_64         7.3.17-1.el8.remi                                remi-modular          80 k
 php-json                    x86_64         7.3.17-1.el8.remi                                remi-modular          73 k
 php-mbstring                x86_64         7.3.17-1.el8.remi                                remi-modular         523 k
 php-mysqlnd                 x86_64         7.3.17-1.el8.remi                                remi-modular         254 k
 php-opcache                 x86_64         7.3.17-1.el8.remi                                remi-modular         323 k
 php-pdo                     x86_64         7.3.17-1.el8.remi                                remi-modular         139 k
 php-pecl-mcrypt             x86_64         1.0.3-1.el8.remi.7.3                             remi-modular          35 k
 php-xml                     x86_64         7.3.17-1.el8.remi                                remi-modular         232 k
依存関係のインストール:
 libargon2                   x86_64         20171227-3.el8                                   epel                  29 k
 libargon2-devel             x86_64         20171227-3.el8                                   epel                  18 k
 libmcrypt                   x86_64         2.5.8-26.el8                                     epel                 109 k
 oniguruma                   x86_64         6.8.2-0.1.el8.remi                               remi-safe            187 k
 cmake-filesystem            x86_64         3.11.4-3.el8                                     AppStream             40 k
 libxml2-devel               x86_64         2.9.7-5.el8                                      AppStream            1.0 M
 keyutils-libs-devel         x86_64         1.5.10-6.el8                                     BaseOS                48 k
 krb5-devel                  x86_64         1.17-9.el8                                       BaseOS               548 k
 libcom_err-devel            x86_64         1.44.6-3.el8                                     BaseOS                38 k
 libkadm5                    x86_64         1.17-9.el8                                       BaseOS               184 k
 libselinux-devel            x86_64         2.9-2.1.el8                                      BaseOS               199 k
 libsepol-devel              x86_64         2.9-1.el8                                        BaseOS                86 k
 libverto-devel              x86_64         0.3.0-5.el8                                      BaseOS                18 k
 ncurses-c++-libs            x86_64         6.1-7.20180224.el8                               BaseOS                58 k
 ncurses-devel               x86_64         6.1-7.20180224.el8                               BaseOS               527 k
 openssl-devel               x86_64         1:1.1.1c-2.el8_1.1                               BaseOS               2.3 M
 pcre2-devel                 x86_64         10.32-1.el8                                      BaseOS               605 k
 pcre2-utf16                 x86_64         10.32-1.el8                                      BaseOS               228 k
 pcre2-utf32                 x86_64         10.32-1.el8                                      BaseOS               220 k
 xz-devel                    x86_64         5.2.4-3.el8                                      BaseOS                62 k
 libedit-devel               x86_64         3.1-23.20170329cvs.el8                           PowerTools            44 k
弱い依存関係のインストール:
 nginx-filesystem            noarch         1:1.14.1-9.module_el8.0.0+184+e34fea82           AppStream             24 k

トランザクションの概要
========================================================================================================================
インストール  36 パッケージ

追加パッケージをインストール

[root@host3 ~]# dnf --enablerepo=epel,remi,remi-safe install php-pear php-pecl-xdebug
・
・
依存関係が解決しました。
========================================================================================================================
 パッケージ                        アーキテクチャー   バージョン                         リポジトリー             サイズ
========================================================================================================================
インストール:
 php-pear                          noarch             1:1.10.12-1.el8.remi               remi-modular             365 k
 php-pecl-xdebug                   x86_64             2.9.4-1.el8.remi.7.3               remi-modular             248 k
依存関係のインストール:
 php-fedora-autoloader             noarch             1.0.1-2.el8.remi                   remi-modular              13 k
 php-process                       x86_64             7.3.17-1.el8.remi                  remi-modular              94 k

トランザクションの概要
========================================================================================================================
インストール  4 パッケージ

インストール済みパッケージ確認

[root@host3 ~]# rpm -qa | grep php
php-cli-7.3.21-1.el8.remi.x86_64
php-gmp-7.3.21-1.el8.remi.x86_64
php-fedora-autoloader-1.0.1-2.el8.remi.noarch
php-common-7.3.21-1.el8.remi.x86_64
php-mysqlnd-7.3.21-1.el8.remi.x86_64
oniguruma5php-6.9.5+rev1-2.el8.remi.x86_64
php-pecl-mcrypt-1.0.3-1.el8.remi.7.3.x86_64
php-pear-1.10.12-1.el8.remi.noarch
php-opcache-7.3.21-1.el8.remi.x86_64
php-pdo-7.3.21-1.el8.remi.x86_64
php-gd-7.3.21-1.el8.remi.x86_64
php-json-7.3.21-1.el8.remi.x86_64
php-7.3.21-1.el8.remi.x86_64
php-mbstring-7.3.21-1.el8.remi.x86_64
php-process-7.3.21-1.el8.remi.x86_64
php-devel-7.3.21-1.el8.remi.x86_64
php-xml-7.3.21-1.el8.remi.x86_64
php-pecl-apcu-5.1.18-1.el8.remi.7.3.x86_64
php-pecl-xdebug-2.9.6-1.el8.remi.7.3.x86_64
php-fpm-7.3.21-1.el8.remi.x86_64

php.iniの設定

[root@host3 ~]# vi /etc/php.ini

# [PHP]ブロック
expose_php = Off ← レスポンスヘッダにPHPのバージョンを表示させない
error_reporting = E_ALL ← 全てのログを出力させる
display_errors = Off ← ブラウザでのエラー表示させない
log_errors = On ← エラーをログに残す
log_errors_max_len = 4096 ← エラーログの長さを設定、念のため大きめに
error_log = "/var/log/php_errors.log" ← エラーログ出力先
default_charset = "UTF-8" ← 文字エンコーディング

#[Date]ブロック
date.timezone = "Asia/Tokyo" ← タイムゾーン

#[mbstring]ブロック
mbstring.language = Japanese ← デフォルト言語
mbstring.internal_encoding = UTF-8 ← 内部文字エンコーディング
mbstring.http_input = auto ← HTTP入力文字エンコーディングのデフォルト
mbstring.detect_order = auto ← 文字エンコーディング検出順序のデフォルト

php-fpmの起動

[root@host3 ~]# systemctl start php-fpm

[root@host3 ~]# systemctl enable php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.

Webサーバー再起動

[root@host3 ~]# systemctl restart httpd

phpバージョン確認

[root@host3 ~]# php -v
PHP 7.3.21 (cli) (built: Aug  4 2020 08:06:20) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.21, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.21, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.9.6, Copyright (c) 2002-2020, by Derick Rethans

Imagickをphpで使う

[root@host3 ~]# dnf --enablerepo=epel,remi,remi-safe install ImageMagick

[root@host3 ~]# dnf --enablerepo=epel,remi,remi-safe install ImageMagick-devel

[root@host3 ~]# pecl install imagick

[root@host3 ~]# find / -name imagick.so
/usr/lib64/php/modules/imagick.so

[root@host3 ~]# vi /etc/php.d/imagick.ini
; Enable imagick extension module
extension=imagick.so

[root@host3 ~]# systemctl restart php-fpm

[root@host3 ~]# systemctl restart httpd