Good Day!
It appears the Gravity Forms Stripe Add-On (latest version, V4.1) is not compatible with PHP 8.X
Specifically, when we switch from PHP 7.4.23 (our current set-up) to PHP 8.0.10, and click on our Gravity Forms button, “Schedule Appointment”, we get an infinite loop (spinning circle) next to the button and the form never processes. With PHP 7.4.23 we do not have this issue.
(Note: We’re also using the PayPal Checkout Add-On and it’s running great wth PHP 8.0.10)
Is anyone else experiencing (or has experienced) the same issue? We read Gravity Forms’ article on compatibility with PHP 8, but found nothing useful. In fact, the article does not mention anything about Gravity Forms Add-Ons. We also read this post but it did not help either.
If you’re a developer or coder, below please find our php_errorlog output. Might help identify the issue and fix it.
Help appreciated. If there are any additional helpful troubleshooting steps that we should perform, please let us know.
We’re slowly, but surely, starting to migrate our website(s) to PHP 8.X
Thank you!
Jonathan
[09-Sep-2021 15:54:19 UTC] PHP Fatal error: Uncaught TypeError: explode(): Argument #2 ($string) must be of type string, array given in /public_html/wp-content/plugins/gravityforms/common.php:3252
Stack trace:
#0 /public_html/wp-content/plugins/gravityforms/common.php(3252): explode('|', Array)
#1 /public_html/wp-content/plugins/gravityforms/forms_model.php(3480): GFCommon::get_selection_value(Array)
#2 /public_html/wp-content/plugins/gravityforms/forms_model.php(7731): GFFormsModel::is_value_match(Array, '', 'isnot', Object(GF_Appointment_Booking_Calendar), Array, Array)
#3 /public_html/wp-content/plugins/gravityforms/forms_model.php(3600): GFFormsModel::evaluate_conditional_logic(Array, Array, Array, NULL)
#4 /public_html/wp-content/plugins/gravityforms/forms_model.php(3371): GFFormsModel::get_field_display(Array, Object(GF_Field_PayPal), Array, NULL)
#5 /public_html/wp-content/plugins/gravityforms/forms_model.php(3201): GFFormsModel::is_field_hidden(Array, Object(GF_Field_PayPal), Array)
#6 /public_html/wp-content/plugins/gravityforms/forms_model.php(6649): GFFormsModel::create_lead(Array)
#7 /public_html/wp-content/plugins/gravityforms/form_display.php(293): GFFormsModel::get_current_lead()
#8 /public_html/wp-content/plugins/gravityforms/form_display.php(34): GFFormDisplay::maybe_add_review_page(Array)
#9 /public_html/wp-content/plugins/gravityforms/gravityforms.php(785): GFFormDisplay::process_form(16)
#10 /public_html/wp-includes/class-wp-hook.php(303): GFForms::maybe_process_form(Object(WP))
#11 /public_html/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters(NULL, Array)
#12 /public_html/wp-includes/plugin.php(518): WP_Hook->do_action(Array)
#13 /public_html/wp-includes/class-wp.php(763): do_action_ref_array('wp', Array)
#14 / /public_html/wp-includes/functions.php(1291): WP->main('')
#15 /public_html/wp-blog-header.php(16): wp()
#16 /public_html/index.php(17): require('/home/customer/...')
#17 {main} thrown in /public_html/wp-content/plugins/gravityforms/common.php on line 3252