WordPress 5.2: インポーターを使おうとしてエラー

約8年前の記録が別のWordPressサーバーに置いたままになっているのを偶然見つける事が出来ました。

その記事をエクスポートとした後、このサーバーにインポートしようとしたところ、WordPress インポーターが以下のエラーを吐いて停止しました。解決は簡単なので、無視しようと思っていたら、WordPress がご丁寧にメールでレポートしてくれるものだから、このメモを残す事にしました。

こんにちは! WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。 今回の場合、WordPress がプラグイン WordPress Importer でエラーを捉えました。

エラーの内容は、

エラータイプ E_ERROR が /notes/wp-content/plugins/wordpress-importer/parsers.php ファイルの 61 行目で発生しました。 エラーメッセージ: Uncaught Error: Class ‘DOMDocument’ not found in /notes/wp-content/plugins/wordpress-importer/parsers.php:61

です。

今年の1月にサーバーを移行してからインポーターを使うのは初めてなので、インポートに必要なPHPモジュールが入っていない事に気付いていませんでした。

「Class ‘DOMDocument‘ not found」と出ているので、DOMが入っているのかどうかを確認。実際には、php72-dom モジュールが入っていないため、これを入れてやる事で解決出来るはず。

pkg コマンドで、php72-dom をインストール。その後、Apacheを再起動。

# pkg install php72-dom
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	php72-dom: 7.2.19

Number of packages to be installed: 1

54 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching php72-dom-7.2.19.txz: 100%   54 KiB  55.3kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/1] Installing php72-dom-7.2.19...
[1/1] Extracting php72-dom-7.2.19: 100%
# service apache24 restart
Performing sanity check on apache24 configuration:
Syntax OK
Stopping apache24.
Waiting for PIDS: 40321.
Performing sanity check on apache24 configuration:
Syntax OK
Starting apache24.

これで、WordPressインポーターが動くようになりました。

プラグインに必要なPHPモジュールは手動インストールしないといけないようです。

コメントを残す