file_get_contents (https://www.google.com/recaptcha/api/siteverify): не удалось открыть поток: истекло время ожидания подключения - PullRequest
1 голос
/ 18 июня 2020

Я пробовал много решений, но никто не может помочь. Я использую google recaptcha для своего проекта laravel, и я использую эту библиотеку "buzz/laravel-google-captcha": "^2.2"

Вот мой код

<div class="col-md-6">
   @php($attributes = [])
      {!! Form::captcha($attributes) !!}
      @if ($errors->has('g-recaptcha-response'))
         <span class="invalid-feedback" style="display: block;">
                <strong>{{ $errors->first('g-recaptcha-response') }}</strong>
         </span>
      @endif
</div>

Мой код в LoginController

public function validateLogin(Request $request){
        $this->validate($request, [
            $this->username() => 'required',
            'password' => 'required',
            'g-recaptcha-response' => 'required|captcha',

        ]);
}

Я получил ошибку

file_get_contents (https://www.google.com/recaptcha/api/siteverify): не удалось открыть поток: истекло время соединения

Я попытался перезапустить свой VPS, я обновил свой секретный ключ, я включил конфигурацию allow_url_fopen=On и allow_url_include=On

Я все еще получаю ошибку. Кто-нибудь может мне помочь? Он отлично работает на localhost

Я использую centos 7, laravel 5,7

1 Ответ

1 голос
/ 18 июня 2020

Думаю, у вас нет доступа rnet. Попробуйте, например, с завитком. Войдите в систему с помощью S SH и проверьте:

curl https://www.google.com/recaptcha/api/siteverify

или используйте te lnet

telnet https://www.google.com/recaptcha/api/siteverify 443

Если нет соединения, вы не можете подключиться. Затем вы должны проверить, установлен ли у вас брандмауэр в этой системе или перед вашей системой установлен брандмауэр.

...