Getting a HTTP error 500 when cancelling
-
When a member goes to cancel then get the “Yes cancel this membership” button and select it and it brings up this:
This page isn’t working
gallatinfitness.com is currently unable to handle this request.
HTTP ERROR 500Thoughts?
thank you
Chas
-
Hi Chas,
Thank you for using Paid Memberships Pro, I’m really sorry to hear about the issue you are facing.
An HTTP 500 error can sometimes be caused by an error in code. Please can you enable WP Debug logging and recreate the issue while this is enabled.
Here is documentation on debugging in WordPress – https://codex.ww.wp.xz.cn/Debugging_in_WordPress
Please let me know what errors are in the log.
Here is what is in the error_log
[26-Jul-2017 00:49:42 UTC] PHP Fatal error: Call to undefined function boolval() in /home/cfhungler011/public_html/gallatinfitness.com/wp-content/plugins/paid-memberships-pro/preheaders/cancel.php on line 42
[26-Jul-2017 00:49:46 UTC] PHP Fatal error: Call to undefined function boolval() in /home/cfhungler011/public_html/gallatinfitness.com/wp-content/plugins/paid-memberships-pro/preheaders/cancel.php on line 42
[26-Jul-2017 00:49:51 UTC] PHP Fatal error: Call to undefined function boolval() in /home/cfhungler011/public_html/gallatinfitness.com/wp-content/plugins/paid-memberships-pro/preheaders/cancel.php on line 42here is the code for line 40 to the end:
//are we confirming a cancellation?
if(isset($_REQUEST[‘confirm’]))
$pmpro_confirm = boolval($_REQUEST[‘confirm’]);
else
$pmpro_confirm = false;if($pmpro_confirm) {
if(!empty($old_level_ids)) {
$worked = true;
foreach($old_level_ids as $old_level_id) {
$worked = $worked && pmpro_cancelMembershipLevel($old_level_id, $current_user->ID, ‘cancelled’);
}
}
else {
$old_level_ids = $wpdb->get_col(“SELECT DISTINCT(membership_id) FROM $wpdb->pmpro_memberships_users WHERE user_id = ‘” . $current_user->ID . “‘ AND status = ‘active'”);
$worked = pmpro_changeMembershipLevel(0, $current_user->ID, ‘cancelled’);
}if($worked === true && empty($pmpro_error))
{
$pmpro_msg = __(“Your membership has been cancelled.”, ‘paid-memberships-pro’ );
$pmpro_msgt = “pmpro_success”;//send an email to the member
$myemail = new PMProEmail();
$myemail->sendCancelEmail($current_user, $old_level_ids);//send an email to the admin
$myemail = new PMProEmail();
$myemail->sendCancelAdminEmail($current_user, $old_level_ids);
} else {
global $pmpro_error;
$pmpro_msg = $pmpro_error;
$pmpro_msgt = “pmpro_error”;
}
}Any thoughts? We have a few members that we need to cancel so they do not get billed.
Thank you
ChasThank you for the feedback Chas, I have tested this on my local environment with version 1.9.3 and I am able to cancel my membership successfully.
Would you mind telling me what version of PHP is your site running on as I did some research on the
boolval()function and it seems to support PHP 5.5 and higher.I’m really sorry for the inconvenience caused.
The issue seems that the system is not recognizing the function on line 42 as it’s undefined.
Andrew the php version is 5.4 running wordpress 4.8
Everything was working great until last week – was there an update?
Thanks for the feedback Chas, please could you upgrade your PHP to version 5.6 and see if the issue persists.
There were a couple of security improvements made in version 1.9.3 for PMPro, please let me know if this resolves your issue.
Our development team will be fixing this issue to support older PHP versions than 5.6, however the recommended minimum version is 5.6 or higher.
The fix should be released in the near future – upgrading to 5.6 should resolve the issue immediately.
Please keep me updated.
That did the trick – updated to 5.6 and it works – thank you
Thank you for the feedback Chas. Glad to hear it’s working as expected now.
If you have a moment to spare and found this support useful, please consider posting an honest review at http://ww.wp.xz.cn/support/view/plugin-reviews/paid-memberships-pro
The topic ‘Getting a HTTP error 500 when cancelling’ is closed to new replies.