注目キーワード
  1. 技術
  2. 広告
  3. IDFA
  4. PHP
  5. WordPress

【wordpress】オプションのモジュール zip がインストールされていないか、無効化されています。と出たときの対応方法

  • 2021年1月13日
  • 2021年1月17日
  • 技術
  • 0件

サイトヘルスステータスとは

サイトヘルスステータスは、wordpressのダッシュボード内に、サイトヘルスというページが追加されました。この機能は、wordpress5.2以降にリリースされた機能で、対応しているバージョンのみ表示されています。このページで、サイトが問題なく動いているか、健康状態をチェックできるようになっています。このサイトヘルスチェックは、wordpressの設定について、確認の必要な項目がリスト表示されるようになっています。重要な情報になりますので、適宜チェックしておくと良いでしょう。

オプションのモジュール zip がインストールされていないか、無効化されています。と表示された

wordpressのページ内で、ヘルスステータスを見たところ、下記のような表示がされました。

++++++++++++++++
1つ以上の推奨モジュールが存在しません。
PHP モジュールはサイトの稼働に必要なほとんどのタスクをサーバー上で実行します。変更はサーバー管理者が実施する必要があります。

WordPress ホスティングチームでは、こうした推奨されていたり必須とされていたりするモジュールのリストをチームのハンドブック (新しいタブで開く)でメンテナンスしています。

警告 オプションのモジュール zip がインストールされていないか、無効化されています。
++++++++++++++++

原因

原因は、phpの拡張モジュールがインストールされていないため、表示されています。これが表示されていると、エクスポートする際に、エラーが発生します。wordpress上だと、個人データのエクスポート時にエラーになるようです。php-zipが無い場合には、PclZipというPHPライブラリを使うのですが、php-zipを使う場合と比べて、低速で処理効率も悪いです。ただ、php-zipであれば、C言語で実装されているため、高速で処理効率も良いです。そのため、php-zipをインストールしていきます。

対応方法

  • php-zip のインストールする
# yum install php-zip
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                           | 4.3 kB  00:00:00
 * base: ty1.mirror.newmediaexpress.com
 * epel: ftp.iij.ad.jp
 * extras: ty1.mirror.newmediaexpress.com
 * remi-safe: ftp.riken.jp
 * updates: ty1.mirror.newmediaexpress.com
base                                                           | 3.6 kB  00:00:00
epel                                                           | 4.7 kB  00:00:00
extras                                                         | 2.9 kB  00:00:00
mariadb-main                                                   | 2.9 kB  00:00:00
mariadb-maxscale                                               | 2.4 kB  00:00:00
mariadb-tools                                                  | 2.9 kB  00:00:00
remi-safe                                                      | 3.0 kB  00:00:00
updates                                                        | 2.9 kB  00:00:00
(1/2): epel/x86_64/updateinfo                                  | 1.0 MB  00:00:00
(2/2): epel/x86_64/primary_db                                  | 6.9 MB  00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php-pecl-zip.x86_64 0:1.19.0-1.el7.remi を インストール
--> 依存性の処理をしています: libzip5(x86-64) >= 1.7.0 のパッケージ: php-pecl-zip-1.19.0-1.el7.remi.x86_64
--> 依存性の処理をしています: libzip.so.5()(64bit) のパッケージ: php-pecl-zip-1.19.0-1.el7.remi.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libzip5.x86_64 0:1.7.3-1.el7.remi を インストール
--> 依存性解決を終了しました。

依存性を解決しました

======================================================================================
 Package                  アーキテクチャー
                                       バージョン               リポジトリー     容量
======================================================================================
インストール中:
 php-pecl-zip       x86_64       1.19.0-1.el7.remi        remi-safe        51 k
依存性関連でのインストールをします:
 libzip5                  x86_64       1.7.3-1.el7.remi         remi-safe        61 k

トランザクションの要約
======================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 112 k
インストール容量: 248 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): libzip5-1.7.3-1.el7.remi.x86_64.rpm                     |  61 kB  00:00:00
(2/2): php-pecl-zip-1.19.0-1.el7.remi.x86_64.rpm         |  51 kB  00:00:00
--------------------------------------------------------------------------------------
合計                                                     525 kB/s | 112 kB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : libzip5-1.7.3-1.el7.remi.x86_64                       1/2
  インストール中          : php-pecl-zip-1.19.0-1.el7.remi.x86_64           2/2
  検証中                  : libzip5-1.7.3-1.el7.remi.x86_64                       1/2
  検証中                  : php-pecl-zip-1.19.0-1.el7.remi.x86_64           2/2

インストール:
  php-pecl-zip.x86_64 0:1.19.0-1.el7.remi

依存性関連をインストールしました:
  libzip5.x86_64 0:1.7.3-1.el7.remi

完了しました!
  • apache を再起動する
# service httpd restart
Redirecting to /bin/systemctl restart httpd.service
  • インストールされたかを確認する
# php74 -m | grep zip
zip

インストールされたことが確認できたでしょうか。ここまでできた後に、wordpressのヘルスチェックページを確認すると、今まで出ていた表記が消えていると思います。インストール直後に見たら、反映までに若干ラグがありました。もしかすると、このヘルスチェックのデータをキャッシュ化させている可能性もあるため、もしうまくいかない方は、キャッシュを消した後に見てみてください。