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サーバ
○ブログシステム
○オンラインストレージ
○その他