CentOS 7にPHP7.3をインストールしよう!
ここでは、PHP7.3のインストール手順を掲載しています。
PHP5.4から7.3へ
CentOS 7のPHPは通常5.4.16というバージョンがインストールされます。
もっと新しいバージョンのPHPを使いたい場合は以下の手順で更新を行ってください。
PHPのアンインストール
すでに5.4.16がインストールされている場合は、先にPHPを削除します。
[root@co ~]# yum -y remove php php-*
読み込んだプラグイン:fastestmirror
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php.x86_64 0:5.4.16-46.1.el7_7 を 削除
---> パッケージ php-cli.x86_64 0:5.4.16-46.1.el7_7 を 削除
---> パッケージ php-common.x86_64 0:5.4.16-46.1.el7_7 を 削除
---> パッケージ php-mbstring.x86_64 0:5.4.16-46.1.el7_7 を 削除
---> パッケージ php-mysqlnd.x86_64 0:5.4.16-46.1.el7_7 を 削除
---> パッケージ php-pdo.x86_64 0:5.4.16-46.1.el7_7 を 削除
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
================================================================================
削除中:
php x86_64 5.4.16-46.1.el7_7 @updates 4.4 M
php-cli x86_64 5.4.16-46.1.el7_7 @updates 8.8 M
php-common x86_64 5.4.16-46.1.el7_7 @updates 3.8 M
php-mbstring x86_64 5.4.16-46.1.el7_7 @updates 1.3 M
php-mysqlnd x86_64 5.4.16-46.1.el7_7 @updates 461 k
php-pdo x86_64 5.4.16-46.1.el7_7 @updates 192 k
トランザクションの要約
================================================================================
削除 6 パッケージ
インストール容量: 19 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
削除中 : php-5.4.16-46.1.el7_7.x86_64 1/6
削除中 : php-cli-5.4.16-46.1.el7_7.x86_64 2/6
削除中 : php-mbstring-5.4.16-46.1.el7_7.x86_64 3/6
削除中 : php-mysqlnd-5.4.16-46.1.el7_7.x86_64 4/6
削除中 : php-pdo-5.4.16-46.1.el7_7.x86_64 5/6
削除中 : php-common-5.4.16-46.1.el7_7.x86_64 6/6
警告: /etc/php.ini は /etc/php.ini.rpmsave として保存されました。
検証中 : php-cli-5.4.16-46.1.el7_7.x86_64 1/6
検証中 : php-mysqlnd-5.4.16-46.1.el7_7.x86_64 2/6
検証中 : php-5.4.16-46.1.el7_7.x86_64 3/6
検証中 : php-common-5.4.16-46.1.el7_7.x86_64 4/6
検証中 : php-mbstring-5.4.16-46.1.el7_7.x86_64 5/6
検証中 : php-pdo-5.4.16-46.1.el7_7.x86_64 6/6
削除しました:
php.x86_64 0:5.4.16-46.1.el7_7
php-cli.x86_64 0:5.4.16-46.1.el7_7
php-common.x86_64 0:5.4.16-46.1.el7_7
php-mbstring.x86_64 0:5.4.16-46.1.el7_7
php-mysqlnd.x86_64 0:5.4.16-46.1.el7_7
php-pdo.x86_64 0:5.4.16-46.1.el7_7
完了しました!
remiリポジトリの追加
標準のリポジトリには新しいPHPは用意されていないため、他のリポジトリから持ってくることにします。
[root@co ~]# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
http://rpms.remirepo.net/enterprise/remi-release-7.rpm を取得中 警告: /var/tmp/rpm-tmp.NyA0wK: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 00f97f56: NOKEY 準備しています... ################################# [100%] 更新中 / インストール中... 1:remi-release-7.7-1.el7.remi ################################# [100%]
ちなみに初期設定でダウンロードしたEPELリポジトリと違い、remiリポジトリは、初めから無効化されています。
なので、必要な時に有効にしながら使用します。
PHP7.3のインストール
準備が整いました。PHP7.3をインストールします。
[root@co ~]# yum -y --enablerepo=epel,remi-php73 install php php-mbstring php-mysqlnd
読み込んだプラグイン:fastestmirror, security インストール処理の設定をしています Loading mirror speeds from cached hostfile * base: ftp-srv2.kddilabs.jp * epel: www.ftp.ne.jp * extras: ftp-srv2.kddilabs.jp * remi-php73: mirrors.tuna.tsinghua.edu.cn * remi-safe: mirrors.tuna.tsinghua.edu.cn * updates: ftp-srv2.kddilabs.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php.x86_64 0:7.3.13-1.el7.remi を インストール --> 依存性の処理をしています: php-cli(x86-64) = 7.3.13-1.el7.remi のパッケージ: php-7.3.13-1.el7.remi.x86_64 --> 依存性の処理をしています: php-common(x86-64) = 7.3.13-1.el7.remi のパッケー ジ: php-7.3.13-1.el7.remi.x86_64 --> 依存性の処理をしています: libargon2.so.0()(64bit) のパッケージ: php-7.3.13-1.el7.remi.x86_64 ---> パッケージ php-mbstring.x86_64 0:7.3.13-1.el7.remi を インストール --> 依存性の処理をしています: libonig.so.5()(64bit) のパッケージ: php-mbstring-7.3.13-1.el7.remi.x86_64 ---> パッケージ php-mysqlnd.x86_64 0:7.3.13-1.el7.remi を インストール --> 依存性の処理をしています: php-pdo(x86-64) = 7.3.13-1.el7.remi のパッケージ: php-mysqlnd-7.3.13-1.el7.remi.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ libargon2.x86_64 0:20161029-3.el7 を インストール ---> パッケージ oniguruma5.x86_64 0:6.9.4-1.el7.remi を インストール ---> パッケージ php-cli.x86_64 0:7.3.13-1.el7.remi を インストール ---> パッケージ php-common.x86_64 0:7.3.13-1.el7.remi を インストール --> 依存性の処理をしています: php-json(x86-64) = 7.3.13-1.el7.remi のパッケージ: php-common-7.3.13-1.el7.remi.x86_64 ---> パッケージ php-pdo.x86_64 0:7.3.13-1.el7.remi を インストール --> トランザクションの確認を実行しています。 ---> パッケージ php-json.x86_64 0:7.3.13-1.el7.remi を インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================ インストール中: php x86_64 7.3.13-1.el7.remi remi-php73 3.2 M php-mbstring x86_64 7.3.13-1.el7.remi remi-php73 511 k php-mysqlnd x86_64 7.3.13-1.el7.remi remi-php73 234 k 依存性関連でのインストールをします: libargon2 x86_64 20161029-3.el7 epel 23 k oniguruma5 x86_64 6.9.4-1.el7.remi remi-safe 197 k php-cli x86_64 7.3.13-1.el7.remi remi-php73 4.9 M php-common x86_64 7.3.13-1.el7.remi remi-php73 1.1 M php-json x86_64 7.3.13-1.el7.remi remi-php73 66 k php-pdo x86_64 7.3.13-1.el7.remi remi-php73 128 k トランザクションの要約 ================================================================================ インストール 3 パッケージ (+6 個の依存関係のパッケージ) 総ダウンロード容量: 10 M インストール容量: 41 M Downloading packages: (1/9): libargon2-20161029-3.el7.x86_64.rpm | 23 kB 00:00 warning: /var/cache/yum/x86_64/7/remi-safe/packages/oniguruma5-6.9.4-1.el7.remi.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY oniguruma5-6.9.4-1.el7.remi.x86_64.rpm の公開鍵がインストールされていません (2/9): oniguruma5-6.9.4-1.el7.remi.x86_64.rpm | 197 kB 00:00 php-json-7.3.13-1.el7.remi.x86_64.rpm の公開鍵がインストールされていません- ETA (3/9): php-json-7.3.13-1.el7.remi.x86_64.rpm | 66 kB 00:00 (4/9): php-mysqlnd-7.3.13-1.el7.remi.x86_64.rpm | 234 kB 00:00 (5/9): php-pdo-7.3.13-1.el7.remi.x86_64.rpm | 128 kB 00:00 (6/9): php-common-7.3.13-1.el7.remi.x86_64.rpm | 1.1 MB 00:02 (7/9): php-7.3.13-1.el7.remi.x86_64.rpm | 3.2 MB 00:03 (8/9): php-mbstring-7.3.13-1.el7.remi.x86_64.rpm | 511 kB 00:04 (9/9): php-cli-7.3.13-1.el7.remi.x86_64.rpm | 4.9 MB 00:07 -------------------------------------------------------------------------------- 合計 1.3 MB/s | 10 MB 00:07 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi から鍵を取得中です。 Importing GPG key 0x00F97F56: Userid : "Remi Collet" Fingerprint: 1ee0 4cce 88a4 ae4a a29a 5df5 004e 6f47 00f9 7f56 Package : remi-release-7.7-1.el7.remi.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi Running transaction check Running transaction test Transaction test succeeded Running transaction 警告: RPMDB は yum 以外で変更されました。 インストール中 : libargon2-20161029-3.el7.x86_64 1/9 インストール中 : php-common-7.3.13-1.el7.remi.x86_64 2/9 インストール中 : php-json-7.3.13-1.el7.remi.x86_64 3/9 インストール中 : php-cli-7.3.13-1.el7.remi.x86_64 4/9 インストール中 : php-pdo-7.3.13-1.el7.remi.x86_64 5/9 インストール中 : oniguruma5-6.9.4-1.el7.remi.x86_64 6/9 インストール中 : php-mbstring-7.3.13-1.el7.remi.x86_64 7/9 インストール中 : php-mysqlnd-7.3.13-1.el7.remi.x86_64 8/9 インストール中 : php-7.3.13-1.el7.remi.x86_64 9/9 検証中 : php-mbstring-7.3.13-1.el7.remi.x86_64 1/9 検証中 : php-json-7.3.13-1.el7.remi.x86_64 2/9 検証中 : php-mysqlnd-7.3.13-1.el7.remi.x86_64 3/9 検証中 : php-7.3.13-1.el7.remi.x86_64 4/9 検証中 : php-cli-7.3.13-1.el7.remi.x86_64 5/9 検証中 : php-pdo-7.3.13-1.el7.remi.x86_64 6/9 検証中 : oniguruma5-6.9.4-1.el7.remi.x86_64 7/9 検証中 : libargon2-20161029-3.el7.x86_64 8/9 検証中 : php-common-7.3.13-1.el7.remi.x86_64 9/9 インストール: php.x86_64 0:7.3.13-1.el7.remi php-mbstring.x86_64 0:7.3.13-1.el7.remi php-mysqlnd.x86_64 0:7.3.13-1.el7.remi 依存性関連をインストールしました: libargon2.x86_64 0:20161029-3.el7 oniguruma5.x86_64 0:6.9.4-1.el7.remi php-cli.x86_64 0:7.3.13-1.el7.remi php-common.x86_64 0:7.3.13-1.el7.remi php-json.x86_64 0:7.3.13-1.el7.remi php-pdo.x86_64 0:7.3.13-1.el7.remi 完了しました!
バージョンを確認してみましょう。7.3.13になっていればOKです。
[root@co ~]# php -v
PHP 7.3.13 (cli) (built: Dec 17 2019 10:29:15) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.13, Copyright (c) 1998-2018 Zend Technologies
PHPの設定
続いて、設定を行います。基本的に5.4.16と変わりません。
[root@co ~]# vi /etc/php.ini
expose_php = On
↓
expose_php = Off
;error_log = php_errors.log
↓
error_log = /var/log/httpd/php-error.log
[Data]
;date.timezone =
↓
date.timezone = Asia/Tokyo
[mbstring]
;mbstring.language = Japanese
;mbstring.internal_encoding =
;mbstring.http_input =
;mbstring.http_output =
;mbstring.encoding_translation = Off
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
↓
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
Apacheの再起動
念のため、Apacheを再起動しておきましょう。
[root@co ~]# systemctl restart httpd
ちなみに、もっと古いPHP5.6や7.0といったバージョンを使いたい場合は、以下のように有効化するリポジトリをremi-php73の代わりにremi-php56やremi-php70にするとインストール可能です。
[root@co ~]# yum -y install --enablerepo=remi,remi-php56 php php-mbstring php-mysql
参考にしたサイト様
今回新しく登場したコマンド
[広告]
トップページ
CentOS 7
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他