目次

2024.12.03 MainWP Child

エラー

MainWPのDashboardから、MainWP Childに接続しようとした時に下記のエラーが出る。

Public key already set. Please deactivate & reactivate the MainWP Child plugin on the child site and try again.

表示されてるように、deactivte して、reactivateして接続しようとしても、また同じようにエラーが出る。

結局php-fpmのエラーログを見ると下記のエラーが出力されていた。

tail /var/log/php-fpm/www-error.log
PHP Fatal error:  Uncaught TypeError: ftp_nlist(): Argument #1 ($ftp) must be of type FTP\Connection, null given in /mnt/vhost/hogehoge.com/wp-admin/includes/class-wp-filesystem-ftpext.php:438
[11-Nov-2024 00:43:15 UTC] PHP Fatal error:  Uncaught TypeError: ftp_nlist(): Argument #1 ($ftp) must be of type FTP\Connection, null given in /mnt/vhost/hogehoge.com/wp-admin/includes/class-wp-filesystem-ftpext.php:438
Stack trace:
#0 /mnt/vhost/hogehoge.com/wp-admin/includes/class-wp-filesystem-ftpext.php(438): ftp_nlist()
#1 /mnt/vhost/hogehoge.com/wp-content/plugins/mainwp-child/class/class-mainwp-security.php(375): WP_Filesystem_FTPext->exists()
#2 /mnt/vhost/hogehoge.com/wp-content/plugins/mainwp-child/class/class-mainwp-security.php(574): MainWP\Child\MainWP_Security::prevent_listing_ok()
#3 /mnt/vhost/hogehoge.com/wp-content/plugins/mainwp-child/class/class-mainwp-child-stats.php(249): MainWP\Child\MainWP_Security::get_stats_security()
#4 /mnt/vhost/hogehoge.com/wp-content/plugins/mainwp-child/class/class-mainwp-connect.php(136): MainWP\Child\MainWP_Child_Stats->get_site_stats()
#5 /mnt/vhost/hogehoge.com/wp-content/plugins/mainwp-child/class/class-mainwp-child.php(298): MainWP\Child\MainWP_Connect->register_site()
#6 /mnt/vhost/hogehoge.com/wp-includes/class-wp-hook.php(324): MainWP\Child\MainWP_Child->parse_init()
#7 /mnt/vhost/hogehoge.com/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#8 /mnt/vhost/hogehoge.com/wp-includes/plugin.php(517): WP_Hook->do_action()
#9 /mnt/vhost/hogehoge.com/wp-settings.php(700): do_action()
#10 /mnt/vhost/hogehoge.com/wp-config.php(94): require_once('...')
#11 /mnt/vhost/hogehoge.com/wp-load.php(50): require_once('...')
#12 /mnt/vhost/hogehoge.com/wp-admin/admin-ajax.php(22): require_once('...')
#13 {main}
  thrown in /mnt/vhost/hogehoge.com/wp-admin/includes/class-wp-filesystem-ftpext.php on line 438

対応

対応方法は、wp-config.phpに下記を追加すると治ります。
※ポイントとしては、下記のコメントが書いてある所の間に書いてあげる。
一番下とか書くと読み込まれなかったりします。

wp-config.php

/* Add any custom values between this line and the "stop editing" line. */

define('FS_METHOD', 'direct');

/* That's all, stop editing! Happy publishing. */