I have also experienced this error on sites with older version of PHP.
Is there any fix for this?
Hi @jaledwith and @spale ,
Sorry to hear this is happening and thanks for reporting it.
It looks like you are running a pretty old version of PHP. I don’t have easy access to this version, so if you can test a patch for me this would help.
Line 353 of login-nocaptcha.php looks like this:
if(!empty(get_option('login_nocaptcha_error')) && (empty(get_option('login_nocaptcha_working')) || (time() - get_option('login_nocaptcha_notice') < 30))) {
Please can you replace it with these lines instead?
$login_nocaptcha_error = get_option('login_nocaptcha_error');
$login_nocaptcha_working = get_option('login_nocaptcha_working');
$login_nocaptcha_notice = get_option('login_nocaptcha_notice');
$time = time();
if(!empty($login_nocaptcha_error) && (empty($login_nocaptcha_working) || ($time - $login_nocaptcha_notice < 30))) {
If that works, I will release it right away with 1.6.2.
Note also with the release of WordPress 5.2 (coming very soon) the minimum PHP version will be 5.6.20.
Thanks for your response. When I make the edit you suggest I now receive this error:
Fatal error: Call-time pass-by-reference has been removed; If you would like to pass argument by reference, modify the declaration of get_option(). in /public_html/wp-content/plugins/login-recaptcha/login-nocaptcha.php on line 354
Hi @jaledwith — this error doesn’t make sense for the code I provided earlier. I suspect an ampersand character may have snuck in there instead of the single quote ('
).
Just in case it was an issue with the code styling on the forum, here is the code again:
$login_nocaptcha_error = get_option(‘login_nocaptcha_error’);
$login_nocaptcha_working = get_option(‘login_nocaptcha_working’);
$login_nocaptcha_notice = get_option(‘login_nocaptcha_notice’);
$time = time();
if(!empty($login_nocaptcha_error) && (empty($login_nocaptcha_working) || ($time – $login_nocaptcha_notice < 30))) {
Let me know!
Yeah, I guess it would help if I looked at the code after pasting it. 🤦♂️
The code you provided works great. Thanks!
Great, I’ll push it to the repo so everyone can benefit.
May I ask what version of PHP was triggering this error? That way I can document it.
The sites in question run on PHP 5.4.45.
Great, thanks. Have just pushed 1.6.2 live; should take just a few minutes to show as an update in wp-admin.
Hello Robert,
I can confirm that version 1.6.2 works well with PHP v5.4.45.
Thank you for quick response and for fixing this issue.
Also, thanks @jaledwith for quick reporting the issue and testing.
This is why WordPress community is the best.
I wish you both a great day.
Best regards