変更履歴
- Rev. 0.7 : 2026年03月08日
- 新規作成
1 はじめに
Linuxバージョン更新などによって、全システムを入れ変えなければならないことが結構あります。
Linux入れ換えに伴って、WordPressシステムも再構築となります。
その時一番悩ましいのが、WordPress用のPHPのインストールなんです。
拡張モジュールがインストールされていなかったせいで、
WordPressが動作しなかったり、機能を果たせない現象がでたりします。
その都度調べるのですが、よく参照していたページが無くっていたりします。
ですので、自分の備忘録として、
PHPとWordPress必須のPHP拡張モジュールのインストールについて整理してみました。
特に断りがなければ、本記事で示すインストール例は、
次の環境下で確認したことを 予め述べておきます。
・ WordPress 6.9.1-ja
・ Apache/2.4.63 (Red Hat Enterprise Linux)
・ 10.11.15-MariaDB MariaDB Server
・ PHP 8.4.18 (cli) (built: Feb 10 2026 17:48:03) (NTS gcc x86_64)
・ Red Hat Enterprise Linux release 10.1 (Coughlan)
2 PHP拡張モジュール
とりあえず、WordPressで利用するどんな拡張モジュールがPHPにあるのかをまとめてみました。
2.1 PHP拡張モジュール
本節は、下に示すページに基にまとめました。
PHP Extensions | Make WordPress Hosting
なお、拡張モジュールを利用する際に、必須ライブラリが限定されている場合があります。
以降の項に示す表において、“Lib”覧において“〇”印があるモジュールは、
特定のライブラリもインストールされていることが必要であることを示しています。
紙面の都合上これらを挙げませんが、もし不具合が発生する場合は、
ライブラリの有無やバージョンなどの整合性を調べてみるのもありかと思います。
先に示したページで、ライブラリのバージョンなどを確認してみてください。
2.1.3 WordPressのキャッシュ
WordPressのキャッシュを有効にするには、
プラグインによっては表2.1-3に
示すPHP拡張機能の使用を推奨されている場合があるようです。
APCu、Memcached、Redisは代替手段であり、いずれか1つだけ使用すれば十分です。
インストールと利用方法については、
拡張モジュール個別の利用ページ(“PHP nbsp;<拡張モジュール名>]”で検索)で
ご確認ください。
2.1.4 WordPressの機能向上
一部の WordPress 機能を向上させるためのオプションです。
2.1.5 代替モジュール
WordPressが特定の状況や他のモジュールが利用できない場合に
使用する可能性のある残りのPHPモジュールのリストを
表2.1-5に示します。
これらはフォールバックまたはオプションであり、
最適な環境では必ずしも必要ではありませんが、インストールしても問題はありません。
2.2 インストール済みの拡張モジュール一覧
インストール済みのPHP拡張モジュールは、下に示すコマンドで確認できます。
|
1 |
# php -m |
ちなみに、私の環境下(PHP 8.4.18 (cli)インストール済み)では、
下に示す拡張モジュールがインストールされていました。
2.3 インストール済みの拡張パッケージ一覧
インストール済みのPHP拡張パッケージは、下に示すコマンドで確認できます。
|
1 |
# dnf list installed | grep php |
3 PHPのインストール
本章では、PHPのインストールについて示します。
3.2 旧バージョンのアンインストール
インストール済みバージョンがある場合、前以って削除しておきます。
|
1 |
# dnf remove php-* |
複数バージョンのPHP共存については、他のドキュメントでご確認ください。
3.3 基本パッケージのインストール
3.3.1 EPELレポジトリ、remiレポジトリの有効化
まず、EPELレポジトリを有効化します。
新しいバージョン(PHP 8.3/8.4など)が必要な場合は、Remiリポジトリを利用します。
|
1 2 |
# dnf install dnf-utils epel-release # dnf install https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %rhel).rpm |
3.3.2 選択バージョンのPHPインストール
下に示すコマンドで、インストール可能なPHPバージョンの一覧を表示させます。
|
1 |
# dnf module list php |
図3.3-1に示すように、 インストール可能なPHPのバージョンが表示されます。
下に示すよう、バージョンを選択してPHPをインストールします。
例では、PHP8.4の場合を示しています。
|
1 2 3 |
# dnf module reset php -y # dnf module enable php:remi-8.4 # dnf module install php:remi-8.4 |
3.3.3 PHPのインストール確認
下に示すコマンドで、インストールできたことを確認します。
|
1 |
# php -v |
3.4 拡張モジュールのインストール
3.4.1 php-mysqli、php-mysqlnd、php-pdo_mysql
MySQL / MariaDB接続のための拡張モジュールは、下に示すようにインストールします。
|
1 |
# dnf install php-mysqli php-pdo_mysql |
インストール後の設定は、不要です。
3.4.2 php??-gd
php??-gdは、PHPバージョンに適したパッケージをインストールします。
次のコマンドで、インストール可能なPHPバージョンに適したphp-gdのパッケージを調べます。
|
1 |
# dnf list | grep gd |
適したパッケージが見つかったら、下に示すようにインストールします。
コマンド例は、PHP 8.4用のphp-gdをインストールする場合です。
|
1 |
# dnf install php84-php-gd.x86_64 |
3.4.3 php??-intl
php??-intlは、PHPバージョンに適したパッケージをインストールします。
次のコマンドで、インストール可能なPHPバージョンに適したphp-intlのパッケージを調べます。
|
1 |
# dnf list | grep intl |
適したパッケージが見つかったら、下に示すようにインストールします。
コマンド例は、PHP 8.4用のphp-intlをインストールする場合です。
|
1 |
# dnf install -y php84-php-intl.x86_64 |
3.4.4 imagick拡張モジュールとImageMagic
RHEL 10のEPEL(Extra Packages for Enterprise Linux)リポジトリが有効になっている、
PHP 8.Xがインストール済みであることを前提に、
imagick拡張モジュールとImageMagickのインストールを示します。
EPELレポジトリの有効化は、3.3.1項で示しました。
【ImageMagick】
ImageMagickからインストールします。
ImageMagickは、次のようにインストールします。
|
1 |
# dnf install ImageMagick ImageMagick-devel |
【imagick拡張モジュール】
imagick拡張モジュールは、次のようにインストールします。
|
1 |
# dnf install php-pecl-imagick |
# う~~ん、なんかあっさりインストールすることができたんだが?
3.4.5 php-mbstring、php-zipなどその他の拡張モジュール
WordPressに必要なPHP拡張モジュールのうち、php-mbstringやphp-zipなどは、
PHP基本パッケージインストールに自動的にバインドされてインストールされるのかもしれません。
もし、“php -m”コマンドでインストール済みモジュールに表示されなかった場合、
手動でインストールします。
モジュール名は、だいたい“PHP-<拡張機能名>”となっています。
検索などでご確認ください。
インストールは1つずつでも、纏めてでも可能です。
|
1 |
# dnf install -y php-mbstring php-zip ... |
3.5 php-fpm
php-fpmは、nginxでそうですが、Apache 2.4でもインストール後設定が必要です。
後日文書化したいと思いますが、今は次のページをご覧いただければと思います。
php fpm wordpress apache – Google 検索
とりあえず、インストールについて。
次のコマンドでインストールできます。
|
1 |
# dnf install php-fpm |
インストール後は、サービスとして起動します。
|
1 |
# systemctl enable --now php-fpm |
4 php.ini
本章では、インストール後、設定を確認または変更すべき“php.ini”の項目を挙げていきます。
“php.ini”のパスは、RHEL系では、次の通りです。
“/etc/php.ini”
4.1 拡張モジュールのパス
下に示す拡張モジュールのパスの追加更新は、基本的には[RHEL 10 + PHP 8.X]では不要です。
・ php-mysqli
・ php-pdo_mysql
・ php-gd
・ php-mbstring
・ php-intl
・ php-magick
PHP(PHP 7以前?)のバージョン、
あるいは拡張モジュールのインストールの仕方によっては必要になってくるのかもしれません。
# 昔の古いバージョンでは、設定していたような。。。
“/etc/php.d”ディレクトリの下に、各拡張モージュールのiniファイルがあります。
拡張モジュールのパスは、そのiniファイルの内容を確認してみてください。
4.2 日本語とタイムゾーン
日本語とタイムゾーンの設定は、必須ですね。
4.3 ファイルのアップロード
適正値は不明ですが、デフォルトのままではアップロードできないファイルが出てきます。
大きくする必要があります。
4.4 メモリ
WordPress 6.9.1-jaでは、デフォルトの128Mのままでは実行できないプラグインがでてきました。
現在(2026年)の標準では、128M~256Mだそうなので、256Mに変更しました。
memory_limitは、post_max_sizeの設定値より大きくなっていなければならず、
下に示すような関係になっていなければならないそうです。
memory_limit > post_max_size > upload_max_filesize
4.5 エラー表示
エラー表示は、運用時に出て困るものですが、トラブル解析を行う際には必要なものです。
php.iniの設定で、エラー表示をON/OFFできることを知っておいた方が良いでしょう。
以上
本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。
少しでも役に立てていただければ、うれしく思います。
このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元と著者名は明らかにしてください。
なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。


コメント