広告 WordPress

Invisible reCaptchaをPHP8.0以降で動作させる方法

Invisible reCaptchaをPHP8.0以降で動作させる方法

Invisible reCaptchaは、数年間メンテナンスされていないプラグインでPHP8で動作させようとすると不具合が発生します。

そこで、私はプラグインの一部のプログラムを書き直してPHP8.0以降に対応させました。

プログラムの書き換えは自己責任になるので注意してください。トラブルが発生しても責任はおえません。

変更するプログラムは2箇所あって、似たようなファイル名があるので注意してください。

必要なルーツ

まずは、書き換えに必要なツール(ソフト)を紹介します。

FTPクライアント(FileZilla)

FileZillaは、書き換えるファイルをサーバからダウンロードしたり、アップロードするために使うツールです。

WordPressのプラグインは、ダッシュボードで書き換えができなので、FTPクライアントで書き換えたいファイルをダウンロードして、書き換えてからアップロードします。

そして、FTPクライアントでサーバに接続するには、FTP用のアカウントとパスワードが必要になります。

サーバの管理画面などで、FTPのアカウントを確認しておいてください。

FTP用のアカウントとパスワードは、Wordpressにログインするものと違います

エディター(Visual Studio Code)

Visual Studio Codeは、ダウンロードしたファイルのプログラムを書き換えるエディターです。

ダウンロードしたファイルは、エディターで書き換えに必要な場所を検索してくれたり、書き換えることができます。

MchBasePublicPlugin.phpを書き換える

書き換えるファイルのパス

wp-content/plugins/invisible-recaptcha/includes/plugin/MchBasePublicPlugin.php

書き換える内容

private function __wakeup()

public function __wakeup()

MchIPUtils.phpを書き換える

書き換えるファイルのパス

wp-content/plugins/invisible-recaptcha/includes/utils/MchIPUtils.php

書き換える内容

$seg {0}

$seg [0]

書き換える手順

  1. FileZillaVisual Studio Codeをダウンロードしてインストールする
  2. FileZillaを立ち上げて、サーバのアドレス、アカウント、パスワードを登録してサーバに接続します
  3. 書き換えるファイル(2種類)をダウンロードする
  4. ダウンロードしたファイルをVisual Studio Codeで書き換える
  5. ファイルの書き換えが終わったらサーバに残っているファイルの名前を、何かあったとき戻せるように書き換える
  6. 書き換えたファイルをアップロードする。このとき上書きの確認が表示されたらファイル名の変更が間違っているので注意してください
  7. サーバのPHPをPHP8に変更します
  8. WordPressにログインできたら成功です

サーバのファイルをリネーム

ダウンロードしたファイルを書き換えてアップロードする前に、サーバに残っているファイルを削除したり上書きすると、トラブルが発生したとき元に戻すことができません。そこで、サーバに残っているファイルは名前を変えて残します。

そうすれば、トラブルが発生してもアップロードしたファイルを削除してファイルを戻せば元に戻せます。

例えば、「MchIPUtils.php」→「MchIPUtils.bak.php」などにファイル名を変えると良いでしょう。