9. PHP 7.3+phpMyAdminのインストール

8. Apache HTTP Server のインストール - 授業のメモ の続き。

サーバーの用意 - WordPress Codex 日本語版
によると、WordPressの現在の推奨環境は、PHP バージョン 5.2.4 以上、MySQL バージョン 5.0.15 以上または MariaDB (バージョン問わず) となっています。今回は PHP 7.3 にします。
英語ページだと PHP7.3 以上となってました。

Requirements | WordPress.org

phpMyAdminMySQL(MariaDB)サーバーをウェブブラウザで管理するためのデータベース接続クライアントツールでPHPで実装されています。

参考:OS とインストールしたいPHPのバージョンを選ぶと導入法を教えてくれるページ。
https://rpms.remirepo.net/wizard/ (今回はこの通りにはやっていません)

CentOS7 はそのままでは PHP 5.4 がインストールされてしまいます。

[root@localhost ~]# yum list php
読み込んだプラグイン:fastestmirror, langpacks
 ~(中略)~
利用可能なパッケージ
php.x86_64                                                 5.4.16-45.el7                                                 base
[root@localhost ~]# 

そこで remi リポジトリを追加する。remi を入れると epel も入る。*1

# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
読み込んだプラグイン:fastestmirror
remi-release-7.rpm                                                         |  16 kB  00:00:00
/var/tmp/yum-root-Vc1mNL/remi-release-7.rpm を調べています: remi-release-7.6-2.el7.remi.noarch
~(中略)~
インストール中:
 remi-release           noarch           7.6-2.el7.remi           /remi-release-7            19 k
依存性関連でのインストールをします:
 epel-release           noarch           7-11                     extras                     15 k
~(中略)~
インストール容量: 43 k
Is this ok [y/d/N]:  y
Downloading packages:
epel-release-7-11.noarch.rpm                                               |  15 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : epel-release-7-11.noarch                                          1/2
  インストール中          : remi-release-7.6-2.el7.remi.noarch                                2/2
  検証中                  : remi-release-7.6-2.el7.remi.noarch                                1/2
  検証中                  : epel-release-7-11.noarch                                          2/2

インストール:
  remi-release.noarch 0:7.6-2.el7.remi

依存性関連をインストールしました:
  epel-release.noarch 0:7-11

完了しました!

PHP7.3をインストールする。参考(10. PHP の拡張モジュールについて

# yum install --enablerepo=remi,remi-php73,epel php php-devel  php-mysql php-mbstring php-pdo php-gd php-xml phpmyadmin

(ここでphpMyAdminを一緒に入れずに後から単独で入れると依存関係をうまく解決できない場合があります。今回php7.3+phpMyAdmin 4.8.5で試してみた際には別々でも問題なく入りました) 当初は remi だけでインストールできたのですが「エラー: パッケージ: php-7.3.7-3.el7.remi.x86_64 (remi-php73) 要求: libargon2.so.0()(64bit)」と出て、epelも使わないと依存解決できないことがありました。

読み込んだプラグイン:fastestmirror
~(中略)~
==================================================================================================
 Package                              アーキテクチャー
                                                 バージョン                  リポジトリー    容量
==================================================================================================
インストール中:
 php                                  x86_64     7.3.5-1.el7.remi            remi-php73     3.2 M
 php-devel                            x86_64     7.3.5-1.el7.remi            remi-php73     1.2 M
 php-gd                               x86_64     7.3.5-1.el7.remi            remi-php73      79 k
 php-mbstring                         x86_64     7.3.5-1.el7.remi            remi-php73     508 k
 php-pdo                              x86_64     7.3.5-1.el7.remi            remi-php73     125 k
 php-xml                              x86_64     7.3.5-1.el7.remi            remi-php73     205 k
 phpMyAdmin                           noarch     4.8.5-1.el7.remi            remi           5.2 M
依存性関連でのインストールをします:
 autoconf                             noarch     2.69-11.el7                 base           701 k
 automake                             noarch     1.13.4-3.el7                base           679 k
~(中略)~ 
トランザクションの要約
==================================================================================================
インストール  7 パッケージ (+128 個の依存関係のパッケージ)

総ダウンロード容量: 92 M
インストール容量: 279 M
Is this ok [y/d/N]: y
Downloading packages:
(1/135): dejavu-fonts-common-2.33-6.el7.noarch.rpm                         |  64 kB  00:00:00
(2/135): autoconf-2.69-11.el7.noarch.rpm                                   | 701 kB  00:00:00
~(中略)~
--------------------------------------------------------------------------------------------------
合計                                                              2.3 MB/s |  92 MB  00:00:40
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-11.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
上記の処理を行います。よろしいでしょうか? [y/N] y
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.6-2.el7.remi.noarch (installed)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
上記の処理を行います。よろしいでしょうか? [y/N] y
Downloading packages:
(1/135): dejavu-fonts-common-2.33-6.el7.noarch.rpm                         |  64 kB  00:00:00
(2/135): autoconf-2.69-11.el7.noarch.rpm                                   | 701 kB  00:00:00
~(中略)~
  xz-devel.x86_64 0:5.2.2-1.el7
  zlib-devel.x86_64 0:1.2.7-18.el7

完了しました!

 

[root@localhost ~]# php --version
PHP 7.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies

PHPの動作確認のために /var/www/html/ に phpinfo.php というファイルを新規作成します。

[root@localhost ~]# vi /var/www/html/phpinfo.php
<?php
    phpinfo();
?>

または

# echo "<?php phpinfo();" > phpinfo.php

phpinfo()php の関数で、PHP の状態に関する多くの情報を出力します。
http://php.net/manual/ja/function.phpinfo.php

[root@localhost ~]# systemctl restart httpd

 

httpd をリスタートしないと http://localhost/phpinfo.php を開いても真っ白になったりコードが表示されるだけだったりする。

f:id:hirose-test:20190520191804p:plain

OK

続けて php.ini を変更する (phpinfo.php 画面に反映される) (vi では「コマンドモード」で / を入力した後に文字入力し 例: /timezone 、Enter で検索できる。さらに nキー で次の候補へ。 入力モードに移るには i 、そこから Esc でコマンドモード。コマンドモードで :wq で保存して閉じる viの使い方/基本操作

[root@localhost ~]# vi /etc/php.ini
 ~(前略)~
date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_charctor = none

 

httpd を再起動。

[root@localhost ~]# systemctl restart httpd

f:id:hirose-test:20180731235419j:plain

phpinfo.php の初期状態 ↑ から先ほどの設定が繁栄されている ↓

f:id:hirose-test:20190520192135p:plain

こまめに保存を

f:id:hirose-test:20180719231311j:plain

10. PHP の拡張モジュールについて

*1:remi は フランス人のRemi Collet さんが運営するリポジトリ [https://rpms.remirepo.net/:title] Remiさんは Red Hat Linux に所属し CentOSPHPの開発者グループにも参加しているため、remiリポジトリには phpパッケージの最新版が用意されている

/* -----codeの行番号----- */