PHPのバージョンを新しくした頃から、WordPress のバックアップ用プラグイン BackWPup でジョブを実行すると「Trying to access array offset on value of type bool in」の警告が発生するようになりました。BackWPup プラグインでこの警告が発生することはかなり珍しいと思いますが、やっと対処方法が分かりましたので記事にしてみました。
原因
バックアップ対象のファイルやディレクトリのオーナーもしくはグループの設定が不適切な場合、「Trying to access array offset on value of type bool in」の警告が発生します。
以下が警告の原因になっていたディレクトリとファイルです。
drwxrwxr-x 2 apache 2000 4096 Dec 25 2020 assets -rw-rw-r-- 1 apache 2000 29555 Dec 25 2020 CHANGELOG.md -rw-rw-r-- 1 apache 2000 1358 Dec 25 2020 composer.json
オーナーが「apache」となっているのは正しいのですが、グループに「2000」という存在しないグループが設定されています。
他のサーバーから rsync などでオーナーとグループの情報を保持して、ファイルやディレクトリをコピーすると稀にこのようなことが発生します。
対処方法
対処方法は簡単です。バックアップ対象となるファイルおよびディレクトリに、正しいオーナーとグループを設定すればOKです。
例えば、Webサーバーの実行ユーザー(apache)とそのグループを設定する場合は、以下のコマンドで設定できます。
sudo chown -R apache:apache <WordPressサイトのドキュメントルート>
おわりに
警告は表示されていましたがバックアップ自体はできていましたので、半年以上も放置したままでした(^^;) 毎回警告が表示されていると、本当に問題につながる警告を見落としてしまいますので、今後はしっかり対応したいものです。
コメント