• Resolved jjjrrr

    (@jjjrrr)


    Hi, we’re having trouble installing BLC on our Production site. It installs and runs fine on our Dev environment but not Production or Preprod.

    All environments are hosted on WP VIP using PHP 8.1, WordPress 6.6.1 and a custom theme.

    Upon trying to install, the following is shown in the WP dashboard:

    Broken Link Checker installation failed. Try deactivating and then reactivating the plugin.
    installation_complete = 0
    installation_flag_cleared_on = 2023-11-10T16:41:24+00:00 (1699634484.3933)
    installation_flag_set_on = 0

    Installation log follows :
    Plugin activated at 2023-11-10 09:40:07.
    Installation/update begins.
    Upgrading the database...
    ... SHOW TABLES (0.002 seconds)
    ... SHOW FULL COLUMNS FROM wp_blc_filters 0.001 seconds
    ... SHOW INDEX FROM wp_blc_filters 0.001 seconds
    ... SHOW FULL COLUMNS FROM wp_blc_instances 0.001 seconds
    ... SHOW INDEX FROM wp_blc_instances 0.001 seconds
    ... SHOW FULL COLUMNS FROM wp_blc_links 0.001 seconds
    ... SHOW INDEX FROM wp_blc_links 0.001 seconds
    ... SHOW FULL COLUMNS FROM wp_blc_synch 0.001 seconds
    ... SHOW INDEX FROM wp_blc_synch 0.001 seconds
    [OK] ALTER TABLE
    wp_blc_filters MODIFY COLUMN id int(10) unsigned NOT NULL AUTO_INCREMENT (0.006 seconds)
    [OK] ALTER TABLE wp_blc_instances MODIFY COLUMN instance_id int(10) unsigned NOT NULL AUTO_INCREMENT (0.004 seconds)
    [OK] ALTER TABLE wp_blc_instances MODIFY COLUMN link_id int(10) unsigned NOT NULL (0.009 seconds)
    [OK] ALTER TABLE wp_blc_instances MODIFY COLUMN container_id int(10) unsigned NOT NULL (0.006 seconds)
    [OK] ALTER TABLE wp_blc_instances MODIFY COLUMN link_text text NOT NULL DEFAULT '' (0.011 seconds)
    [OK] ALTER TABLE wp_blc_links MODIFY COLUMN link_id int(20) unsigned NOT NULL AUTO_INCREMENT (0.008 seconds)
    [OK] ALTER TABLE wp_blc_links MODIFY COLUMN check_count int(4) unsigned NOT NULL DEFAULT '0' (0.011 seconds)
    [OK] ALTER TABLE wp_blc_links MODIFY COLUMN redirect_count smallint(5) unsigned NOT NULL DEFAULT '0' (0.015 seconds)
    [OK] ALTER TABLE wp_blc_links MODIFY COLUMN http_code smallint(6) NOT NULL DEFAULT '0' (0.021 seconds)
    [OK] ALTER TABLE wp_blc_links MODIFY COLUMN timeout tinyint(1) unsigned NOT NULL DEFAULT '0' (0.016 seconds)
    [OK] ALTER TABLE wp_blc_links MODIFY COLUMN broken tinyint(1) unsigned NOT NULL DEFAULT '0' (0.017 seconds)
    [OK] ALTER TABLE wp_blc_links MODIFY COLUMN warning tinyint(1) unsigned NOT NULL DEFAULT '0' (0.015 seconds)
    [OK] ALTER TABLE wp_blc_synch MODIFY COLUMN container_id int(20) unsigned NOT NULL (45.438 seconds)
    [OK] ALTER TABLE wp_blc_synch MODIFY COLUMN synched tinyint(2) unsigned NOT NULL (20.756 seconds)
    Schema update took 66.344 seconds
    Database schema updated.
    Database successfully upgraded.
    --- Total: 66.519 seconds
    Cleaning up the database...
    ... Deleting invalid container records
    ... 0 synch records deleted in 0.001 seconds
    ... Deleting invalid link instances
    ... 0 instances deleted in 0.000 seconds
    ... 0 more instances deleted in 0.000 seconds
    ... Deleting orphaned links
    ... 0 links deleted in 0.000 seconds
    --- Total: 0.002 seconds
    Notifying modules...
    ... Updating module cache
    ... Cache refresh took 0.193 seconds
    ... Loading modules
    ... 4 modules loaded in 0.002 seconds
    ... Notifying module "http"
    ... Notifying module "link"
    ... Notifying module "image"
    ... Notifying module "metadata"
    ... Notifying module "url_field"
    ... Notifying module "comment"
    ...... Deleting synch. records for removed comments
    ...... 0 rows deleted in 3.872 seconds
    ...... Creating synch. records for new comments
    ...... 0 rows inserted in 20.866 seconds
    ... Notifying module "acf"
    ... Notifying module "post"
    ...... Deleting synch records for removed posts & post with invalid status
    DELETE synch.* FROM wp_blc_synch AS synch WHERE synch.container_id NOT IN ('11250200', '11251495', '11250700', '11250538', '11249586', '11248797', '11248567', '11248262', '11247817', '11247366', '11246816', '11246339', '11246007', '11245080', '11244276', '11243809', '11243520', '11242681', '11242112', '11241567', '11241289', '11241068', '11240971', '11240222', '11239635', '11238971', '11238251', '11237717', '11237145', '11236724',

    The only related error we can find in the error logs is:

    PHP message: PHP Fatal error: Uncaught Error: Class "blcUtility" not found in /var/www/wp-content/plugins/broken-link-checker/legacy/core/core.php:1723

    If Site Health info helps you, here it is:

    <br>### wp-core ###<br><br>version: 6.6.1<br>site_language: en_US<br>user_language: en_US<br>timezone: America/Boise<br>permalink: /%year%/%monthnum%/%day%/%postname%/<br>https_status: true<br>multisite: true<br>user_registration: false<br>blog_public: 1<br>default_comment_status: open<br>environment_type: production<br>site_id: 1<br>site_count: 4<br>network_count: 1<br>user_count: 304801<br>dotorg_communication: true<br><br>### wp-dropins (3) ###<br><br>db.php: true<br>object-cache.php: true<br>sunrise.php: true<br><br>### wp-active-theme ###<br><br>name: Redacted (redacted)<br>version: 1.0.0<br>author: Redacted<br>author_website: https://redacted.com<br>parent_theme: none<br>theme_features: core-block-patterns, widgets-block-editor, block-templates, infinite-scroll, menus, automatic-feed-links, title-tag, post-thumbnails, html5, custom-background, customize-selective-refresh-widgets, custom-logo, wp-block-styles, align-wide, editor-styles, responsive-embeds, appearance-tools, border, widgets, editor-style<br>theme_path: /var/www/wp-content/themes/redacted<br><br>### wp-mu-plugins (38) ###<br><br>Admin Notice: version: 0.1.0, author: WordPress VIP<br>Advanced Post Caching: version: 0.2, author: Automattic<br>Akismet Anti-Spam: version: 5.1, author: Automattic<br>blogpublic-notice.php: author: (undefined), version: (undefined)<br>HTTP Concat: version: 1.0, author: Automattic<br>Jetpack: version: 13.7, author: Automattic<br>Lightweight Term Count Update: version: 0.1.0, author: Automattic, Alley Interactive<br>prometheus.php: author: (undefined), version: (undefined)<br>query-monitor.php: author: (undefined), version: (undefined)<br>REST API Enhancements: version: 0.1, author: Erick Hitter, Automattic<br>Rewrite Rules Inspector: version: 1.4.0, author: Automattic, Daniel Bachhuber<br>VaultPress: version: 2.2.1, author: Automattic<br>VIP AllOptions Safeguard: author: Automattic, version: (undefined)<br>VIP Back-compat: version: 1.0, author: Automattic<br>VIP Cache Manager: version: 1.1, author: Automattic<br>VIP Client mu-plugins: author: Automattic, version: (undefined)<br>VIP Codebase Manager: version: 1.0.0, author: Automattic<br>VIP Cron Enhancements: version: 1.0, author: Automattic<br>VIP Dashboard: version: 3.0.0, author: Scott Evans, Filipe Varela, Pau Argelaguet<br>VIP Feed Cache: author: Automattic, version: (undefined)<br>VIP File Service: version: 0.2, author: Automattic<br>VIP Force Two Factor: author: Automattic, version: (undefined)<br>VIP Go Core Modifications: author: Automattic, version: (undefined)<br>VIP Go Plugin Compat: version: 1.0, author: Automattic<br>VIP Hosting Miscellaneous: version: 1.1, author: Automattic<br>VIP Init: author: Automattic, version: (undefined)<br>VIP Integrations: author: Automattic, version: (undefined)<br>VIP Mail: version: 1.0, author: Automattic<br>VIP Parse.ly Integration: version: 1.0, author: Automattic<br>VIP Performance: version: 1.0, author: Automattic<br>VIP Plugins: version: 1.0.0, author: Automattic<br>VIP Schema: author: Automattic, version: (undefined)<br>VIP Security: version: 1.2, author: Automattic<br>VIP Stats: author: Automattic, version: (undefined)<br>WooCommerce: VIP Specific Changes: version: 1.0.0, author: Automattic<br>WordPress Importer: version: 0.6.4, author: wordpressdotorg<br>WordPress VIP Support: version: 3.1.0, author: <a href="https://automattic.com">Automattic</a><br>WP-CLI for VIP Go: author: Automattic, version: (undefined)<br><br>### wp-plugins-active (16) ###<br><br>Ads.txt Manager: version: 1.4.4, author: 10up<br>Advanced Custom Fields PRO: version: 6.3.5, author: WP Engine (latest version: 6.3.6)<br>Block Admin Emails: version: 1.0.0, author: Redacted<br>Bulk Delete: version: 6.0.2, author: Sudar<br>Cache Nav Menus: version: 1.0, author: Automattic<br>Comment Reply Email Notification: version: 1.33.0, author: Arno Welzel<br>External Links in a New Window: version: 1.0, author: Javi Moya<br>Fieldmanager: version: 1.2.4, author: Alley<br>Gravity Forms: version: 2.8.16, author: Gravity Forms (latest version: 2.8.17)<br>IndexNow: version: 1.0.3, author: Microsoft Bing<br>Sticky Custom Post Types: version: 1.2.3, author: Ann Oyama<br>Term Management Tools: version: 2.0.1, author: theMikeD, scribu<br>TK Favorites: version: 1.0.0, author: Redacted<br>WP Post Publish AYS: version: 0.1.0, author: John James Jacoby<br>Yoast SEO: version: 23.2, author: Team Yoast (latest version: 23.4)<br>Yoast SEO Premium: version: 23.2, author: Team Yoast<br><br>### wp-plugins-inactive (1) ###<br><br>Yoast Test Helper: version: 1.18, author: Team Yoast<br><br>### wp-media ###<br><br>image_editor: WP_Image_Editor_GD<br>imagick_module_version: Not available<br>imagemagick_version: Not available<br>imagick_version: Not available<br>file_uploads: 1<br>post_max_size: 2047M<br>upload_max_filesize: 2047M<br>max_effective_size: 2 GB<br>max_file_uploads: 20<br>gd_version: bundled (2.1.0 compatible)<br>gd_formats: GIF, JPEG, PNG, WebP, BMP, AVIF<br>ghostscript_version: not available<br><br>### wp-server ###<br><br>server_architecture: Linux 5.10.0-26-amd64 x86_64<br>httpd_software: nginx<br>php_version: 8.2.22 64bit<br>php_sapi: fpm-fcgi<br>max_input_variables: 6144<br>time_limit: 1200<br>memory_limit: 768M<br>max_input_time: 1200<br>upload_max_filesize: 2047M<br>php_post_max_size: 2047M<br>curl_version: 8.7.1 OpenSSL/1.1.1w<br>suhosin: false<br>imagick_availability: false<br>pretty_permalinks: true<br>current: 2024-09-04T08:31:50+00:00<br>utc-time: Wednesday, 04-Sep-24 08:31:50 UTC<br>server-time: 2024-09-04T02:31:50-06:00<br><br>### wp-database ###<br><br>extension: mysqli<br>server_version: 8.0.28<br>client_version: mysqlnd 8.2.22<br>max_allowed_packet: 67108864<br>max_connections: 400<br><br>### wp-constants ###<br><br>WP_HOME: undefined<br>WP_SITEURL: undefined<br>WP_CONTENT_DIR: /var/www/wp-content<br>WP_PLUGIN_DIR: /var/www/wp-content/plugins<br>WP_MEMORY_LIMIT: 64M<br>WP_MAX_MEMORY_LIMIT: 512M<br>WP_DEBUG: false<br>WP_DEBUG_DISPLAY: false<br>WP_DEBUG_LOG: false<br>SCRIPT_DEBUG: false<br>WP_CACHE: false<br>CONCATENATE_SCRIPTS: undefined<br>COMPRESS_SCRIPTS: undefined<br>COMPRESS_CSS: undefined<br>WP_ENVIRONMENT_TYPE: production<br>WP_DEVELOPMENT_MODE: undefined<br>DB_CHARSET: utf8mb4<br>DB_COLLATE: utf8mb4_general_ci<br><br>### wp-filesystem ###<br><br>wordpress: not writable<br>wp-content: not writable<br>uploads: writable<br>plugins: not writable<br>themes: not writable<br>fonts: writable<br>mu-plugins: not writable<br><br>### jetpack ###<br><br>site_id: 147862304<br>ssl_cert: No<br>time_diff: false<br>version_option: 13.7:1724264444<br>old_version: 13.6:1724264444<br>public: Public<br>master_user: #1 redacted<br>is_offline_mode: off<br>is_offline_mode_constant: off<br>current_user: #12345678 redacted<br>tokens_set: Blog <br>blog_token: zs7&99niO&x6RDay61!s55Q#3L8hY9Sc<br>user_token: Not set.<br>version: 13.7<br>jp_plugin_dir: /var/www/wp-content/mu-plugins/jetpack-13.7/<br>plan: complete<br>protect_header: false<br>full_sync: {"started":"Wed, 03 Jul 2024 16:41:47 +0000","finished":"Wed, 03 Jul 2024 16:41:49 +0000","progress":{"options":{"finished":true},"functions":{"finished":true},"constants":{"finished":true},"users":{"total":0,"sent":0,"finished":true,"last_sent":"~0"},"network_options":{"finished":true}},"config":{"options":true,"functions":true,"constants":true,"users":[145565787],"network_options":true}}<br>sync_size: 1<br>sync_lag: 3 seconds<br>full_sync_size: undefined<br>full_sync_lag: 0 seconds<br>idc_urls: {"home":"https:\/\/redacted.com","siteurl":"https:\/\/redacted.com","WP_HOME":"","WP_SITEURL":""}<br>idc_error_option: false<br>idc_optin: false<br>cxn_tests: All Pass.<br><br>### acf ###<br><br>version: 6.3.5<br>plugin_type: PRO<br>activated: false<br>activated_url: undefined<br>license_type: undefined<br>license_status: undefined<br>subscription_expires: undefined<br>ui_field_groups: 1<br>php_field_groups: 0<br>json_field_groups: 49<br>rest_field_groups: 0<br>post_types_enabled: true<br>ui_post_types: 22<br>json_post_types: 0<br>ui_taxonomies: 12<br>json_taxonomies: 0<br>ui_options_pages_enabled: true<br>ui_options_pages: 0<br>json_options_pages: 0<br>php_options_pages: 4<br>rest_api_format: light<br>registered_acf_blocks: 0<br>blocks_per_api_version: <br>blocks_per_acf_block_version: <br>blocks_using_post_meta: 0<br>preload_blocks: true<br>admin_ui_enabled: false<br>field_type-modal_enabled: true<br>field_settings_tabs_enabled: false<br>shortcode_enabled: true<br>registered_acf_forms: 0<br>json_save_paths: 1<br>json_load_paths: 1<br><br>### parsely (18) ###<br><br>apikey: redacted.com<br>content_id_prefix: undefined<br>use_top_level_cats: false<br>custom_taxonomy_section: category<br>cats_as_tags: true<br>content_helper: <br>	ai_features_enabled: 1<br>	smart_linking: Array<br>	title_suggestions: Array<br>	excerpt_suggestions: Array<br>track_authenticated_users: true<br>lowercase_tags: true<br>force_https_canonicals: true<br>track_post_types: <br>	0: post<br>	1: recipes<br>	2: contests<br>	3: diy<br>	4: tips<br>	5: product-reviews<br>	6: deals<br>	7: headers<br>	8: news<br>track_page_types: <br>	0: page<br>full_metadata_in_non_posts: false<br>disable_javascript: false<br>disable_amp: false<br>meta_type: repeated_metas<br>logo: https://redacted.com/wp-content/uploads/2012/1/logo.jpg<br>disable_autotrack: false<br>plugin_version: 3.16.4<br><br>

    Some identifying elements have been redacted but I don’t believe they will affect your analysis.

    I use this plugin on many different sites and would like to get to the bottom of this issue. The only related info I can find is in this ticket, but unfortunately removing and reinstalling has not helped.

    Thanks in advance!

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support Nebu John – WPMU DEV Support

    (@wpmudevsupport14)

    Hi @jjjrrr,

    Sorry to know that you are experiencing this issue.

    We haven’t received any similar reports on our end and were unable to replicate the issue on our test websites. Since the issue isn’t reproducible in your development environment, something related to the hosting setup in the production environment might be causing it.

    Can you please bring this to the notice of the hosting support and see if they can provide any insights regarding this issue?

    Kind Regards,
    Nebu John

    Thread Starter jjjrrr

    (@jjjrrr)

    Hi @wpmudevsupport14 upon digging deeper with WP VIP support, they advise that the same error was in fact displaying in development (just wasn’t visible to us), so this does not appear to be environment specific.

    Here’s the full error:

    PHP message: Warning: vip-db-invalid-query: Database query failed due to invalid characters in /var/www/db-config.php on line 87 [redacted-com-develop.go-vip.co] [db-config.php:87 trigger_error(), wp-includes/class-wp-hook.php:324 {closure}(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:517 WP_Hook->do_action(), wp-content/mu-plugins/drop-ins/hyperdb/db.php:943 do_action('sql_query_log'), wp-content/plugins/broken-link-checker/legacy/includes/links.php:603 hyperdb->query(), wp-content/plugins/broken-link-checker/legacy/includes/links.php:306 blcLink->save(), wp-content/plugins/broken-link-checker/legacy/core/core.php:3089 blcLink->check(), wp-content/plugins/broken-link-checker/legacy/core/core.php:3170 wsBrokenLinkChecker->work(), wp-includes/class-wp-hook.php:324 wsBrokenLinkChecker->cron_check_links(), wp-includes/class-wp-hook.php:348 WP_Hook->apply_filters(), wp-includes/plugin.php:565 WP_Hook->do_action(), wp-content/mu-plugins/cron/cron-control/includes/class-event.php:163 do_action_ref_array(), wp-content/mu-plugins/cron/cron-control/includes/class-events.php:268 Automattic\WP\Cron_Control\Event->run(), wp-content/mu-plugins/cron/cron-control/includes/functions.php:72 Automattic\WP\Cron_Control\Events->run_event(), wp-content/mu-plugins/cron/cron-control/includes/wp-cli/class-orchestrate-runner.php:102 Automattic\WP\Cron_Control\run_event(), Automattic\WP\Cron_Control\CLI\Orchestrate_Runner->run_event(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php:100 call_user_func(), WP_CLI\Dispatcher\CommandFactory::WP_CLI\Dispatcher\{closure}(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php:497 call_user_func(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php:441 WP_CLI\Dispatcher\Subcommand->invoke(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php:464 WP_CLI\Runner->run_command(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php:1295 WP_CLI\Runner->run_command_and_exit(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php:28 WP_CLI\Runner->start(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/bootstrap.php:83 WP_CLI\Bootstrap\LaunchRunner->process(), /usr/local/bin/wp/vendor/wp-cli/wp-cli/php/wp-cli.php:32 WP_CLI\bootstrap(), /var/wpvip/fpm-cron-runner.php:79 require_once('/usr/local/bin/wp/vendor/wp-cli/wp-cli/php/wp-cli.php')]

    They go on to say:

    We’ve also observed the plugin to store an excessive amount of logs in?alloptions?cache which can cause further issues. Checking the?alloptions?cache for the?develop?environment, it already seems to be quite big:

    wp vip alloptions find --big

    Success: Big options for https://redacted-com-develop.go-vip.co - Blog ID 1:
    +---------------------------------------------+---------+
    | name | size |
    +---------------------------------------------+---------+
    | blc_installation_log | 2196776 |
    | wpseo-premium-redirects-export-plain | 1667120 |
    | wpseo_taxonomy_meta | 81193 |
    | rewrite_rules | 74318 |
    | monsterinsights_report_data_realtime | 20808 |
    *********************************************************

    I came across this information from WP VIP elsewhere that may be relevant.

    We have a limit of 1MB (compressed) for all AllOptions – this is a collection of all options given the?autoload=yes?value. If a site exceeds that limit, it will be prevented from loading and display an error.

    This is explained in more detail here.

    Plugin Support Patrick – WPMU DEV Support

    (@wpmudevsupport12)

    Hi @jjjrrr

    Thank you for the update and all the detailed information.

    I would like to test the Autoload, based on the initial log it happens when we are re-syncing the database, can you let us know more or less how many posts and how many post types you have on your site?

    I also pinged our developers to check if is there any way to disable the logging which

    Best Regards
    Patrick Freitas

    Plugin Support Patrick – WPMU DEV Support

    (@wpmudevsupport12)

    Hi @jjjrrr

    I hope you are doing well.

    Could you please enable the Query Monitor plugin and then try to enable the plugin and see if it catches any relevant information such as which query is being executed when the fatal error happened, just to make sure it is the ->save one or something else.

    In case makes no difference, please send an email to

    [email protected]

    Using this specific subject ATTN: WPMU DEV support - wp.org including the thread URL in the email body.

    Best Regards
    Patrick Freitas

    Thread Starter jjjrrr

    (@jjjrrr)

    Hi @wpmudevsupport12,

    The site has around 225,000 posts spread across 9 different post types.

    I’ll do my best to get the Query Monitor details to you but need to work with the team to make this happen, so it may be a few days.

    Plugin Support Williams – WPMU DEV Support

    (@wpmudev-support8)

    Hi @jjjrrr

    Thank you for response!

    Take your time, just let us know when you’re ready with it and we’ll get back to you!

    Best regards,
    Adam

    Plugin Support Zafer – WPMU DEV Support

    (@wpmudevsupport15)

    Hi @jjjrrr,

    We haven’t heard from you in a while, I’ll go and mark this thread as resolved. If you have any additional questions or require further help, please let us know!

    Kind regards,
    Zafer

Viewing 7 replies - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.