Hi Mike,
Thank you for your reply. Michael helped me with the test/production environment. For now, we will:
1.) Deactivate licenses for our production environment
2.) Activate licenses for our test environment
3.) Update and test in our test environment
4.) Deactivate licenses for our test environment
5.) Activate licenses for our production environment
6.) Update extensions in production and validate
We have had many problems with extensions. The difficulty is that we don’t want to ignore PHP errors and notices in logs because we don’t know what impacts they have.
Here are a few examples. We report them right away, and they seem to have been fixed, but it’s an ongoing thing. We are constantly finding these and reporting them.
[07-Jun-2017 16:31:19 UTC] PHP Notice: Array to string conversion in /web/sites/###/shop/wp-content/plugins/woocommerce-cart-reports/admin/cart_index_interface.php on line 318
[16-Jun-2017 20:38:11 UTC] PHP Fatal error: Uncaught Error: Call to a member function getOffsetTimestamp() on null in /web/sites/###/shop/wp-content/plugins/woocommerce/includes/data-stores/abstract-wc-order-data-store-cpt.php:124
[05-Jun-2017 03:09:46 UTC] The WC_Coupon::exclude_sale_items function is deprecated since version 3.0. Replace with WC_Coupon::get_exclude_sale_items.
[Mon May 08 20:20:48.088386 2017] [:error] [pid 2152] [client ##.##.##.##:49270] billing_email was called incorrectly. Order properties should not be accessed directly. Backtrace: require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), do_action(‘template_redirect’), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action(‘wc_ajax_checkout’), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, do_action(‘woocommerce_checkout_order_processed’), WP_Hook->do_action, WP_Hook->apply_filters, WC_Mailchimp_Integration->send_order_data, WC_Mailchimp_API->subscribe_to_list, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0., referer: https://www.###.com/shop/checkout/
[Wed May 03 18:19:01.260933 2017] [:error] [pid 26380] [client ##.##.##.##:59446] WC_Checkout->posted was called incorrectly. Use $_POST directly. Backtrace: require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), do_action(‘template_redirect’), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action(‘wc_ajax_checkout’), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->create_order, WC_Order->save, WC_Data_Store->create, WC_Order_Data_Store_CPT->create, do_action(‘woocommerce_new_order’), WP_Hook->do_action, WP_Hook->apply_filters, AV8_Cart_Reports->save_order_id, AV8_Cart_Receipt->save_order_id, WC_Checkout->__get, wc_doing_it_wrong. This message was added in version 3.0.0., referer: https://www.site.com/shop/checkout/
WooCommerce used to be pretty low maintenance, but since 3.0 it has gotten much heavier to maintain – and more expensive and time-consuming for us.