WordPressの環境構築の第2回で、PHP7.4のインストールについて説明しています。
※ 本ページはプロモーションが含まれています。
WordPress(ワードプレス)の環境構築の手順について説明していきます。前回はWordPressの環境構築の第1回として、EPELリポジトリの設定やApache2.4のインストールをしました。
WordPress環境構築の第1回、Apache2.4をインストール(Amazon Linux2(ec2),CentOS7)
今回はWordPress環境構築の第2回で、PHP7.4のインストールについて説明していきます。
Amazon Linux2やCentOS7環境で、yumでいきなりPHPをインストールしようとすると古いバージョンのPHPをインストールしてしまうので、WordPressの環境構築とか関係なく、PHP7のインストールをしたい方も参考にしてみてください。
■環境やインストールするバージョン情報です。
WordPress:6.0(2022/5/24時点の最新バージョン)、5.8(2021/11/3時点の最新バージョン)
->バージョンは6.0、5.8の2つで試しています。
ウェブサーバ:Apache2.4
PHP:7.4
MariaDB:10.5、10.6
試したOS環境は、ec2のAmazon Linux 2(64ビット(x86))とCentOS7.9の2つです。
・ec2
$ cat /etc/system-release
Amazon Linux release 2 (Karoo)
・CentOS7
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
ec2(Amazon Linux2)環境でPHP7.4のインストールをしていきます。CentOS7環境の場合は、こちらの方を参考にしてください。
Amazon Linux2でPHP7.4をインストールする場合、amazon-linux-extraコマンドを使うと簡単にできます。
ちなみにamazon-linux-extraでインストールできるPHPのバージョンです。
$ amazon-linux-extras | grep php
15 php7.2 available \
17 lamp-mariadb10.2-php7.2 available \
31 php7.3 available \
42 php7.4 available [ =stable ]
51 php8.0 available [ =stable ]
amazon-linux-extraでPHP7.4の情報を見るとこんな感じです。これらのパッケージ(モジュール)がインストールされます。$ amazon-linux-extras info php7.4
php7.4 recommends php-cli # yum install php-cli
php7.4 recommends php-pdo # yum install php-pdo
php7.4 recommends php-fpm # yum install php-fpm
php7.4 recommends php-json # yum install php-json
php7.4 recommends php-mysqlnd # yum install php-mysqlnd
それでは、PHP7.4をインストールします。
$ sudo amazon-linux-extras install php7.4
Installing php-pdo, php-fpm, php-mysqlnd, php-cli, php-json
〜
================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
================================================================================================================
インストール中:
php-cli x86_64 7.4.21-1.amzn2 amzn2extra-php7.4 4.9 M
php-fpm x86_64 7.4.21-1.amzn2 amzn2extra-php7.4 1.7 M
php-json x86_64 7.4.21-1.amzn2 amzn2extra-php7.4 71 k
php-mysqlnd x86_64 7.4.21-1.amzn2 amzn2extra-php7.4 241 k
php-pdo x86_64 7.4.21-1.amzn2 amzn2extra-php7.4 134 k
依存性関連でのインストールをします:
libzip x86_64 1.3.2-1.amzn2.0.1 amzn2-core 62 k
php-common x86_64 7.4.21-1.amzn2 amzn2extra-php7.4 1.1 M
トランザクションの要約
===============================================================================================================
インストール 5 パッケージ (+2 個の依存関係のパッケージ)
〜
インストールできました!
バージョンを確認します。
$ php -v
PHP 7.4.21 (cli) (built: Jul 7 2021 17:35:08) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
また、PHP7.4をインストール後にyum repolistでリポジトリの一覧を確認したら、amzn2extra-php7.4リポジトリが有効状態で追加されていました。(amazon-linux-extrasコマンドでPHP7.4をインストールする場合、Remiリポジトリではなくこのリポジトリを使うみたいですね。リポジトリの状態が有効・無効関係なく一覧を確認したいなら、allオプションをつけてyum repolist allコマンドを実行する。)
$ yum repolist
〜
リポジトリー ID リポジトリー名 状態
!amzn2-core/2/x86_64 Amazon Linux 2 core repository 26,556
amzn2extra-docker/2/x86_64 Amazon Extras repo for docker 50
amzn2extra-epel/2/x86_64 Amazon Extras repo for epel 1
amzn2extra-php7.4/2/x86_64 Amazon Extras repo for php7.4 329
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,460+228
repolist: 40,396
PHP自体はインストールできましたが、WordPressではphp-gdというグラフィック描画ライブラリを使用する時があるようなので、これも事前にインストールしておきます。
php-gdのインストールは、amazon-linux-extrasコマンドではなくyumを使います(amazon-linux-extrasでPHP7.4をインストールする前にphp-gdをインストールしようとすると、古いバージョンのphp-gdをインストールしようとするので注意です)。
$ sudo yum install php-gd
〜
インストール中 : php-gd-7.4.21-1.amzn2.x86_64 1/1
検証中 : php-gd-7.4.21-1.amzn2.x86_64 1/1
インストール:
php-gd.x86_64 0:7.4.21-1.amzn2
完了しました!
php-gdのバージョン7.4もインストールできました!
あと、php-mbstringとphp-xmlもインストールしておいた方が良いかもしれません。両方ともなくてもWordPressの環境構築はできますが、WordPress運用後にphp-mbstringが無いと新しいテーマをインストールした時に、「Fatal error: Uncaught Error: Call to undefined function mb_language() in 〜」というエラーが発生してサイト自体が表示できなくなる場合もあります。また、php-xmlが無いと人気テーマのCocoonの設定画面を開いた時に画面が表示されない問題が発生しました。
$ sudo yum install php-mbstring php-xml
インストールされたPHPのパッケージ一覧です。
$ yum list installed | grep -i php
php-cli.x86_64 7.4.21-1.amzn2 @amzn2extra-php7.4
php-common.x86_64 7.4.21-1.amzn2 @amzn2extra-php7.4
php-fpm.x86_64 7.4.21-1.amzn2 @amzn2extra-php7.4
php-gd.x86_64 7.4.21-1.amzn2 @amzn2extra-php7.4
php-json.x86_64 7.4.21-1.amzn2 @amzn2extra-php7.4
php-mysqlnd.x86_64 7.4.21-1.amzn2 @amzn2extra-php7.4
php-pdo.x86_64 7.4.21-1.amzn2 @amzn2extra-php7.4
PHP7.4のインストールができたら、次はApache上でPHPの動作確認をしてみます。
CentOS7環境で、PHP7.4をインストールしていきます。ec2(Amazon Linux2)環境の場合は、こちらの方を参考にしてください。
CentOS7環境でPHP7やPHP8をインストールする場合、Remiリポジトリを使います。
(*Remiリポジトリを使わずに、いきなりyumでPHPをインストールしようとすると、古いバージョンのPHPがインストールされてしまうので注意です。)
ですので、まずは下のコマンドを実行してRemiリポジトリを追加します。
(*このコマンドを実行すると、RemiだけじゃなくてEPELリポジトリも追加されます。けど既にEPELリポジトリを追加している環境でも、特に気にする必要はありません。)
$ sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
〜
インストール中 : remi-release-7.9-2.el7.remi.noarch 1/1
検証中 : remi-release-7.9-2.el7.remi.noarch 1/1
インストール:
remi-release.noarch 0:7.9-2.el7.remi
完了しました!
完了したので、再度リポジトリを確認してみます。
$ ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Sources.repo epel-testing.repo remi-glpi93.repo remi-php70.repo remi-php74.repo remi.repo
CentOS-CR.repo CentOS-Vault.repo epel.repo remi-glpi94.repo remi-php71.repo remi-php80.repo
CentOS-Debuginfo.repo CentOS-fasttrack.repo remi-glpi91.repo remi-modular.repo remi-php72.repo remi-php81.repo
CentOS-Media.repo CentOS-x86_64-kernel.repo remi-glpi92.repo remi-php54.repo remi-php73.repo remi-safe.repo
$ yum repolist
〜
リポジトリー ID リポジトリー名 状態
base/7/x86_64 CentOS-7 - Base 10,072
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,689
extras/7/x86_64 CentOS-7 - Extras 500
remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 4,641
updates/7/x86_64 CentOS-7 - Updates 2,936
repolist: 31,838
PHP7,8の色々なバージョンのRemiリポジトリが追加されました!
Remiリポジトリの準備ができたので、PHP7.4をインストールします。--enablerepoオプションでremi-php74を指定します。
あと、ここではphp-mysqlnd,php-gdも一緒にインストールします(WordPressはMariaDBと連携が必要ですし、php-gdというグラフィック描画ライブラリも使う時があるそうなので。)
$ sudo yum --enablerepo=remi-php74 install php php-mysqlnd php-gd
〜
インストール:
php.x86_64 0:7.4.25-1.el7.remi php-gd.x86_64 0:7.4.25-1.el7.remi php-mysqlnd.x86_64 0:7.4.25-1.el7.remi
依存性関連をインストールしました:
dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7 fontconfig.x86_64 0:2.13.0-4.3.el7
fontpackages-filesystem.noarch 0:1.44-8.el7 fribidi.x86_64 0:1.0.2-1.el7_7.1 gd-last.x86_64 0:2.3.3-2.el7.remi
graphite2.x86_64 0:1.3.10-1.el7_3 harfbuzz.x86_64 0:1.7.5-2.el7 jbigkit-libs.x86_64 0:2.0-11.el7
libX11.x86_64 0:1.6.7-4.el7_9 libX11-common.noarch 0:1.6.7-4.el7_9 libXau.x86_64 0:1.0.8-2.1.el7
libXpm.x86_64 0:3.5.12-1.el7 libjpeg-turbo.x86_64 0:1.2.90-8.el7 libraqm.x86_64 0:0.7.0-4.el7
libsodium.x86_64 0:1.0.18-1.el7 libtiff.x86_64 0:4.0.3-35.el7 libwebp7.x86_64 0:1.0.3-1.el7.remi
libxcb.x86_64 0:1.13-1.el7 php-cli.x86_64 0:7.4.25-1.el7.remi php-common.x86_64 0:7.4.25-1.el7.remi
php-json.x86_64 0:7.4.25-1.el7.remi php-pdo.x86_64 0:7.4.25-1.el7.remi php-sodium.x86_64 0:7.4.25-1.el7.remi
完了しました!
インストールできました!
あと、php-mbstringとphp-xmlもインストールしておいた方が良いかもしれません。両方ともなくてもWordPressの環境構築はできますが、WordPress運用後にphp-mbstringが無いと新しいテーマをインストールした時に、「Fatal error: Uncaught Error: Call to undefined function mb_language() in 〜」というエラーが発生してサイト自体が表示できなくなる場合もあります。また、php-xmlが無いと人気テーマのCocoonの設定画面を開いた時に画面が表示されない問題が発生しました。
$ sudo yum --enablerepo=remi-php74 install php-mbstring php-xml
これらのエラーについては別ページでも書いています。
WordPressでテーマを導入時、「アップロードされたファイルがphp.iniのupload_max_filesizeディレクティブを越えています」「辿ったリンクは期限が切れています」「このサイトで重大なエラーが発生しました」エラーが出た
Cocoon設定の各設定タブを押しても表示されない問題と解決方法
バージョンを確認してみます。
$ php -v
PHP 7.4.25 (cli) (built: Oct 19 2021 15:18:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
PHP7.4がインストールされています。バージョン7.4.xのxは、環境によって違うと思います。
インストールされたPHPのパッケージ一覧です。
$ yum list installed | grep -i php
php.x86_64 7.4.25-1.el7.remi @remi-php74
php-cli.x86_64 7.4.25-1.el7.remi @remi-php74
php-common.x86_64 7.4.25-1.el7.remi @remi-php74
php-gd.x86_64 7.4.25-1.el7.remi @remi-php74
php-json.x86_64 7.4.25-1.el7.remi @remi-php74
php-mysqlnd.x86_64 7.4.25-1.el7.remi @remi-php74
php-pdo.x86_64 7.4.25-1.el7.remi @remi-php74
php-sodium.x86_64 7.4.25-1.el7.remi @remi-php74
PHP7.4をインストールしたので、Apache上でPHPが動作する事を確認しておきます。ここは、ec2(Amazon Linux2)、CentOS7どちらの環境も同じです
まず、php.iniファイルのtimezone設定を日本時刻に設定しておきます。
テキストエディタはなんでも良いですが、vimかviで/etc/php.iniファイルを編集しましょう。
$ sudo vim /etc/php.ini
date.timezoneのコメントアウトを外して、Asia/Tokyoに設定します。;date.timezone =
・編集後date.timezone = Asia/Tokyo
編集したら、Apacheを再起動します。
$ sudo systemctl restart httpd
次に、/var/www/htmlディレクトリ直下に、PHPの動作確認のために適当なphpファイルを作成します。
なんでも良いですが、とりあえず下のようなhoge.phpファイルを作成します。
$ cat /var/www/html/hoge.php
<?php
phpinfo();
ファイルを作成したら、ブラウザで「http://***.***.***.***/hoge.php」にアクセスしてみます(***.***.***.***はIPアドレスです)。
下のようなページが表示されれば、問題ありません。ちゃんとApache上でPHPが動作しています!
今回は、WordPressの環境構築の第2回としてPHP7.4のインストールについて説明してきました。
次回は、データベースのMariaDBのインストールについて説明します。
WordPress環境構築の第3回、MariaDB10.6(10.5)のインストール(Amazon Linux2(ec2),CentOS7