ヘルプ: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