Fatal PHP error when activating user account
-
When trying to activate an account on a single site within a multisite instance you get hit with a fatal PHP error.
Example URL you get from account activation email: https://example.local/wp-activate.php?key=da4ba57c21d66638When you click the link, you get a “There has been a critical error on this website” and it prevents account activation.
Error from PHP log:PHP Fatal error: Uncaught TypeError: base64_decode(): Argument #1 ($string) must be of type string, array given in /Users/user/Local Sites/site-name/app/public/wp-content/plugins/google-site-kit/includes/Core/Storage/Data_Encryption.php:90
Site info:
Multisite
WordPress 6.3.1
PHP 8.2.10
Site Kit 1.110.0 (installed and activated but no account connected)
I’ve gone in and manually added a string check to bypass the critical error as a temporary solution on line 90 in Data_Encryption.phpif ( ! is_string( $raw_value ) ) { return false; }
Let me know if there is anything else I can provide to help out.
-
Thanks for reaching out @reagans123, and appreciate you sharing your findings. So we can determine more on this, please share the following:
- Your full Site Health information for this single site. You can use this form to share privately if preferred.?
- Does this occur each time you try to activate a user account within your site? If this is the first occurrence, please attempt to activate another user account and check does the same occur.
- Do you see any other errors when checking your site logs from around the same time as when you encountered the fatal error? If so, feel free to share any additional findings within the Site Health information form above.
Let me know if you have any questions with the above. While you’re sharing the above I’ll also perform some checks on my side.
- Included below
- Tried with another account and still got the error. Tested both on a production site and a local fresh barebones multsite install. It specifically needs to be an account that is created within a subsite and not at the network level.
- No other errors, just the original error I shared and the stack trace.
Tested with a completely barebones WP multisite install
### wp-core ### version: 6.3.1 site_language: en_US user_language: en_US timezone: +00:00 permalink: /blog/%year%/%monthnum%/%day%/%postname%/ https_status: false multisite: true user_registration: false blog_public: 1 default_comment_status: open environment_type: local site_count: 1 network_count: 1 user_count: 1 dotorg_communication: true ### wp-active-theme ### name: Twenty Twenty-Three (twentytwentythree) version: 1.2 author: the WordPress team author_website: https://www.remarpro.com parent_theme: none theme_features: core-block-patterns, post-thumbnails, responsive-embeds, editor-styles, html5, automatic-feed-links, block-templates, widgets-block-editor theme_path: /Users/reagan/Local Sites/multisite-test/app/public/wp-content/themes/twentytwentythree auto_update: Disabled ### wp-themes-inactive (2) ### Twenty Twenty-One: version: 1.9, author: the WordPress team, Auto-updates disabled Twenty Twenty-Two: version: 1.5, author: the WordPress team, Auto-updates disabled ### wp-plugins-active (1) ### Site Kit by Google: version: 1.110.0, author: Google, Auto-updates disabled ### wp-media ### image_editor: WP_Image_Editor_Imagick imagick_module_version: 1809 imagemagick_version: ImageMagick 7.1.1-15 Q16 x86_64 98eceff6a:20230729 https://imagemagick.org imagick_version: 3.7.0 file_uploads: File uploads is turned off post_max_size: 1000M upload_max_filesize: 300M max_effective_size: 300 MB max_file_uploads: 20 imagick_limits: imagick::RESOURCETYPE_AREA: 64 GB imagick::RESOURCETYPE_DISK: 9.2233720368548E+18 imagick::RESOURCETYPE_FILE: 6144 imagick::RESOURCETYPE_MAP: 32 GB imagick::RESOURCETYPE_MEMORY: 16 GB imagick::RESOURCETYPE_THREAD: 1 imagick::RESOURCETYPE_TIME: 9.2233720368548E+18 imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, ASHLAR, AVI, AVS, BAYER, BAYERA, BGR, BGRA, BGRO, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUBE, CUR, CUT, DATA, DCM, DCR, DCRAW, DCX, DDS, DFONT, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FARBFELD, FAX, FF, FITS, FL32, FLV, FRACTAL, FTS, FTXT, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, JNG, JNX, JPE, JPEG, JPG, JPS, JSON, JXL, K25, KDC, KERNEL, LABEL, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MPO, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORA, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PHM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PS, PS2, PS3, PSB, PSD, PTIF, PWP, QOI, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGB565, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, STRIMG, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TM2, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMV, WPG, X3F, XBM, XC, XCF, XPM, XPS, XV, YAML, YCbCr, YCbCrA, YUV gd_version: bundled (2.1.0 compatible) gd_formats: GIF, JPEG, PNG, WebP, BMP ghostscript_version: 9.56.1 ### wp-server ### server_architecture: Darwin 21.3.0 x86_64 httpd_software: nginx/1.16.0 php_version: 8.1.23 64bit php_sapi: fpm-fcgi max_input_variables: 4000 time_limit: 1200 memory_limit: 256M max_input_time: 600 upload_max_filesize: 300M php_post_max_size: 1000M curl_version: 7.77.0 (SecureTransport) LibreSSL/2.8.3 suhosin: false imagick_availability: true pretty_permalinks: true current: 2023-09-27T12:53:39+00:00 utc-time: Wednesday, 27-Sep-23 12:53:39 UTC server-time: 2023-09-27T12:53:37+00:00 ### wp-database ### extension: mysqli server_version: 8.0.16 client_version: mysqlnd 8.1.23 max_allowed_packet: 16777216 max_connections: 151 ### wp-constants ### WP_HOME: undefined WP_SITEURL: undefined WP_CONTENT_DIR: /Users/reagan/Local Sites/multisite-test/app/public/wp-content WP_PLUGIN_DIR: /Users/reagan/Local Sites/multisite-test/app/public/wp-content/plugins WP_MEMORY_LIMIT: 64M WP_MAX_MEMORY_LIMIT: 256M WP_DEBUG: false WP_DEBUG_DISPLAY: true WP_DEBUG_LOG: false SCRIPT_DEBUG: false WP_CACHE: false CONCATENATE_SCRIPTS: undefined COMPRESS_SCRIPTS: undefined COMPRESS_CSS: undefined WP_ENVIRONMENT_TYPE: local WP_DEVELOPMENT_MODE: undefined DB_CHARSET: utf8 DB_COLLATE: undefined ### wp-filesystem ### wordpress: writable wp-content: writable uploads: writable plugins: writable themes: writable ### google-site-kit ### version: 1.110.0 php_version: 8.1.23 wp_version: 6.3.1 reference_url: https://multisite-test.local amp_mode: no site_status: not-connected user_status: not authenticated verification_status: not-verified connected_user_count: none active_modules: site-verification, search-console, pagespeed-insights recoverable_modules: none required_scopes: openid: ? https://www.googleapis.com/auth/userinfo.profile: ? https://www.googleapis.com/auth/userinfo.email: ? https://www.googleapis.com/auth/siteverification: ? https://www.googleapis.com/auth/webmasters: ? capabilities: googlesitekit_authenticate: ? googlesitekit_setup: ? googlesitekit_view_posts_insights: ? googlesitekit_view_dashboard: ? googlesitekit_manage_options: ? googlesitekit_update_plugins: ? googlesitekit_view_splash: ? googlesitekit_view_authenticated_dashboard: ? googlesitekit_view_wp_dashboard_widget: ? googlesitekit_view_admin_bar_menu: ? googlesitekit_view_shared_dashboard: ? googlesitekit_read_shared_module_data::["search-console"]: ? googlesitekit_read_shared_module_data::["pagespeed-insights"]: ? googlesitekit_manage_module_sharing_options::["search-console"]: ? googlesitekit_manage_module_sharing_options::["pagespeed-insights"]: ? googlesitekit_delegate_module_sharing_management::["search-console"]: ? googlesitekit_delegate_module_sharing_management::["pagespeed-insights"]: ? enabled_features: adsenseSetupV2: ? enhancedMeasurement: ? ga4Reporting: ? gm3Components: ? newsKeyMetrics: ? userInput: ? search-console_shared_roles: none search-console_management: owner pagespeed-insights_shared_roles: none pagespeed-insights_management: all_admins search_console_property: none `
Thanks for the updates, and appreciate your patience while I tested this. As I’ve so far been unable to recreate this, can you share the following:
- Does the same occur if you test with another version of PHP active?
- Are you using a subdomain site setup, or subdirectory?
- Within Site Kit, when you mention you have no account connected, I assume this occurs even if Site Kit has never been successfully setup (ie. you only have the plugin activated, but you never went ahead and completed setup within the plugin)?
From my own testing, I don’t encounter any fatal errors on a non multisite setup, from testing a couple of different sites and domains (with the same WP, PHP and Site Kit versions). I’ll continue testing this based on your updates above.
- I believe this error will happen for any PHP version after 8.0 due to function parameter issues becoming fatal errors vs warnings in older versions. I tested a few versions passed 8.0 and seen the same behaviour.
- Looks like this only occurs for “subdirectory” multi-site setups.
- Yup, installed and activated, thats it.
Just realized that you don’t even need to create an account or anything. You can visit the activation template at
/wp-activate.php
and you’ll see the fatal error. Video example here.-
This reply was modified 1 year, 5 months ago by
reagans123.
Appreciate you sharing these insights, in particular the recording. As I didn’t yet encounter this on a live multisite setup, using either subdomains or subdirectories, can you whether you get the same on a live site, without using any local setup?
Yup, I originally discovered the issue on a production site. I’ve set up another (3rd) site to confirm the behaviour. It appears both on my local setup and a hosted instance. Here is a link that shows the critical error screen: https://squalid-rust.mysites.io/wp-activate.php
Steps to reproduce
- Fresh install of WordPress as a subdirectory multisite
- Add Google Site Kit plugin from WP directory and activate plugin
- Visit /wp-activate.php page (or get there from a user activation email)
Here is a copy of the Site health info for the site linked above:
` ### wp-core ### version: 6.3.1 site_language: en_US user_language: en_US timezone: +00:00 permalink: /blog/%year%/%monthnum%/%day%/%postname%/ https_status: true multisite: true user_registration: false blog_public: 1 default_comment_status: open environment_type: production site_count: 1 network_count: 1 user_count: 1 dotorg_communication: true ### wp-dropins (1) ### db-error.php: true ### wp-active-theme ### name: Twenty Twenty-Three (twentytwentythree) version: 1.2 author: the WordPress team author_website: https://www.remarpro.com parent_theme: none theme_features: core-block-patterns, post-thumbnails, responsive-embeds, editor-styles, html5, automatic-feed-links, block-templates, widgets-block-editor theme_path: /www/wp-content/themes/twentytwentythree auto_update: Disabled ### wp-themes-inactive (2) ### Twenty Twenty-One: version: 1.8, author: the WordPress team, Auto-updates disabled Twenty Twenty-Two: version: 1.4, author: the WordPress team, Auto-updates disabled ### wp-plugins-active (1) ### Site Kit by Google: version: 1.110.0, author: Google, Auto-updates disabled ### wp-media ### image_editor: WP_Image_Editor_Imagick imagick_module_version: 1690 imagemagick_version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org imagick_version: 3.7.0 file_uploads: File uploads is turned off post_max_size: 300M upload_max_filesize: 300M max_effective_size: 300 MB max_file_uploads: 20 imagick_limits: imagick::RESOURCETYPE_AREA: 85 GB imagick::RESOURCETYPE_DISK: 1.844674407371E+19 imagick::RESOURCETYPE_FILE: 786432 imagick::RESOURCETYPE_MAP: 85 GB imagick::RESOURCETYPE_MEMORY: 43 GB imagick::RESOURCETYPE_THREAD: 1 imagick::RESOURCETYPE_TIME: 1.844674407371E+19 imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DNG, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, JBG, JBIG, JNG, JNX, JPE, JPEG, JPG, JPS, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBP, WMV, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV gd_version: 2.3.3 gd_formats: GIF, JPEG, PNG, WebP, BMP, AVIF, XPM ghostscript_version: unknown ### wp-server ### server_architecture: Linux 5.15.107+ x86_64 httpd_software: Flywheel/5.1.0 php_version: 8.2.10 64bit php_sapi: fpm-fcgi max_input_variables: 10000 time_limit: 178 memory_limit: 128M max_input_time: 60 upload_max_filesize: 300M php_post_max_size: 300M curl_version: 7.68.0 OpenSSL/1.1.1f suhosin: false imagick_availability: true pretty_permalinks: true htaccess_extra_rules: true current: 2023-09-29T17:48:09+00:00 utc-time: Friday, 29-Sep-23 17:48:09 UTC server-time: 2023-09-29T17:48:09+00:00 ### wp-database ### extension: mysqli server_version: 5.7.43-google client_version: mysqlnd 8.2.10 max_allowed_packet: 33554432 max_connections: 4030 ### wp-constants ### WP_HOME: undefined WP_SITEURL: undefined WP_CONTENT_DIR: /www/wp-content WP_PLUGIN_DIR: /www/wp-content/plugins WP_MEMORY_LIMIT: 128M WP_MAX_MEMORY_LIMIT: 128M WP_DEBUG: false WP_DEBUG_DISPLAY: true WP_DEBUG_LOG: false SCRIPT_DEBUG: false WP_CACHE: false CONCATENATE_SCRIPTS: undefined COMPRESS_SCRIPTS: undefined COMPRESS_CSS: undefined WP_ENVIRONMENT_TYPE: Undefined WP_DEVELOPMENT_MODE: undefined DB_CHARSET: utf8 DB_COLLATE: undefined ### wp-filesystem ### wordpress: not writable wp-content: writable uploads: writable plugins: writable themes: writable mu-plugins: writable ### google-site-kit ### version: 1.110.0 php_version: 8.2.10 wp_version: 6.3.1 reference_url: https://squalid-rust.mysites.io amp_mode: no site_status: not-connected user_status: not authenticated verification_status: not-verified connected_user_count: none active_modules: site-verification, search-console, pagespeed-insights recoverable_modules: none required_scopes: openid: ? https://www.googleapis.com/auth/userinfo.profile: ? https://www.googleapis.com/auth/userinfo.email: ? https://www.googleapis.com/auth/siteverification: ? https://www.googleapis.com/auth/webmasters: ? capabilities: googlesitekit_authenticate: ? googlesitekit_setup: ? googlesitekit_view_posts_insights: ? googlesitekit_view_dashboard: ? googlesitekit_manage_options: ? googlesitekit_update_plugins: ? googlesitekit_view_splash: ? googlesitekit_view_authenticated_dashboard: ? googlesitekit_view_wp_dashboard_widget: ? googlesitekit_view_admin_bar_menu: ? googlesitekit_view_shared_dashboard: ? googlesitekit_read_shared_module_data::["search-console"]: ? googlesitekit_read_shared_module_data::["pagespeed-insights"]: ? googlesitekit_manage_module_sharing_options::["search-console"]: ? googlesitekit_manage_module_sharing_options::["pagespeed-insights"]: ? googlesitekit_delegate_module_sharing_management::["search-console"]: ? googlesitekit_delegate_module_sharing_management::["pagespeed-insights"]: ? enabled_features: adsenseSetupV2: ? enhancedMeasurement: ? ga4Reporting: ? gm3Components: ? newsKeyMetrics: ? userInput: ? search-console_shared_roles: none search-console_management: owner pagespeed-insights_shared_roles: none pagespeed-insights_management: all_admins search_console_property: none `
A team member helped me do some further testing, and we found one extra detail for the bug. You have to specifically enable Google Site Kit at the network level for the error to appear. If you enable the plugin within the site, the error doesn’t appear.
Low quality video displaying that behaviourThanks for the additional insights @reagans123. Great that you were able to determine so much on this. With that I went ahead and created the following, based on my own experience also:
https://github.com/google/site-kit-wp/issues/7653Note that in my case, I do encounter the error, but only when using the /wp-activate.php on the main site, and not on the subdirectory sites. Can you confirm this is the case with you also?
Just to keep you updated on this, we are working on a solution for this based on your findings. This won’t make it into the next Site Kit release (due today), but it will hopefully be ready for version 1.112.0, scheduled in 2 weeks.
I will keep you updated here. Thanks again for reporting this.
Many thanks for your patience on this. We have Site Kit 1.14.0 just released, and with this a fix for the issue you determine. Can you please update to this latest version and confirm all works as expected?
Let me know if you have any questions on this.
As we didn’t receive a response I’ll mark this as resolved. Feel free to open a new support topic if you continue to encounter issues, or reopen this topic and we’d be happy to assist.
- The topic ‘Fatal PHP error when activating user account’ is closed to new replies.