* Checks to see if the `DISABLE_WP_CRON` constant is set; errors if true * because WP-Cron is disabled. * * Checks to see if the `ALTERNATE_WP_CRON` constant is set; warns if true. * * Attempts to spawn WP-Cron over HTTP; warns if non 200 response code is * returned. * * @since 2.8.0 * * @link https://github.com/wp-cli/cron-command/blob/v2.3.1/src/Cron_Command.php#L14-L55 * * @return bool */ public static function is_wpcron_working(): bool { if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) { $errormsg = 'The DISABLE_WP_CRON constant is set to true. WP-Cron spawning is disabled.'; return false; } if ( defined( 'ALTERNATE_WP_CRON' ) && ALTERNATE_WP_CRON ) { $errormsg = 'The ALTERNATE_WP_CRON constant is set to true. WP-Cron spawning is not asynchronous.'; return false; } $spawn = self::get_cron_spawn(); if ( is_wp_error( $spawn ) ) { $errormsg = sprintf( 'WP-Cron spawn failed with error: %s', $spawn->get_error_message() ); return false; } $code = wp_remote_retrieve_response_code( $spawn ); $message = wp_remote_retrieve_response_message( $spawn ); if ( 200 === $code ) { // WP-Cron spawning is working as expected. return true; } else { $errormsg = sprintf( 'WP-Cron spawn returned HTTP status code: %1$s %2$s', $code, $message ); return false; } } /** * Spawns a request to `wp-cron.php` and return the response. * * This function is designed to mimic the functionality in `spawn_cron()` * with the addition of returning the result of the `wp_remote_post()` * request. * * @since 2.8.0 * * @link https://github.com/wp-cli/cron-command/blob/v2.3.1/src/Cron_Command.php#L57-L91 * * @global $wp_version WordPress version string. * * @return WP_Error|array The response or WP_Error on failure. */ protected static function get_cron_spawn() { global $wp_version; $sslverify = version_compare( $wp_version, 4.0, '<' ); $doing_wp_cron = sprintf( '%.22F', microtime( true ) ); $cron_request_array = array( 'url' => site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron ), 'key' => $doing_wp_cron, 'args' => array( 'timeout' => 3, 'blocking' => true, // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- Calling native WordPress hook. 'sslverify' => apply_filters( 'https_local_ssl_verify', $sslverify ), ), ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- Calling native WordPress hook. $cron_request = apply_filters( 'cron_request', $cron_request_array ); // Enforce a blocking request in case something that's hooked onto the 'cron_request' filter sets it to false. $cron_request['args']['blocking'] = true; $result = wp_remote_post( $cron_request['url'], $cron_request['args'] ); return $result; } /** * Gets the BoldGrid API URL * * This URL can be overridden by defining W3TC_API2_URL * * @since 2.8.3 * * @return string The API URL to use for requests. */ public static function get_api_base_url() { return defined( 'W3TC_API2_URL' ) && W3TC_API2_URL ? esc_url( W3TC_API2_URL, array( 'https' ), '' ) : 'https://api2.w3-edge.com'; } }
Fatal error: Uncaught Error: Class "W3TC\Util_Environment" not found in /home/devangso/public_html/wp-content/plugins/w3-total-cache/Config.php:175 Stack trace: #0 /home/devangso/public_html/wp-content/plugins/w3-total-cache/Dispatcher.php(36): W3TC\Config->__construct() #1 /home/devangso/public_html/wp-content/plugins/w3-total-cache/Dispatcher.php(49): W3TC\Dispatcher::component('Config') #2 /home/devangso/public_html/wp-content/plugins/w3-total-cache/Mobile_Redirect.php(38): W3TC\Dispatcher::config() #3 /home/devangso/public_html/wp-content/plugins/w3-total-cache/Dispatcher.php(36): W3TC\Mobile_Redirect->__construct() #4 /home/devangso/public_html/wp-content/advanced-cache.php(36): W3TC\Dispatcher::component('Mobile_Redirect') #5 /home/devangso/public_html/wp-settings.php(100): include('/home/devangso/...') #6 /home/devangso/public_html/wp-config.php(99): require_once('/home/devangso/...') #7 /home/devangso/public_html/wp-load.php(50): require_once('/home/devangso/...') #8 /home/devangso/public_html/wp-blog-header.php(13): require_once('/home/devangso/...') #9 /home/devangso/public_html/index.php(17): require('/home/devangso/...') #10 {main} thrown in /home/devangso/public_html/wp-content/plugins/w3-total-cache/Config.php on line 175