Php reCAPTCHA在本地主机上工作,但在远程服务器上不工作

Php reCAPTCHA在本地主机上工作,但在远程服务器上不工作,php,recaptcha,Php,Recaptcha,我在将reCAPTCHA添加到我的网站时遇到一些问题。下面的代码在本地主机上运行正常,但在远程服务器上运行不正常 if (isset($_POST['g-recaptcha-response'])) { $secret = '6LcUahkTAOlz-3iYApxHVjUC6wSc30G'; $ip = $_SERVER['REMOTE_ADDR']; //var_dump($ip); works fine on both local and remote

我在将reCAPTCHA添加到我的网站时遇到一些问题。下面的代码在本地主机上运行正常,但在远程服务器上运行不正常

    if (isset($_POST['g-recaptcha-response'])) {    
    $secret = '6LcUahkTAOlz-3iYApxHVjUC6wSc30G';
    $ip = $_SERVER['REMOTE_ADDR'];
    //var_dump($ip); works fine on both local and remote
    $captcha = $_POST['g-recaptcha-response'];
    $rsp = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$captcha&remoteip=$ip");
    var_dump($rsp);
    $validation = json_decode($rsp, TRUE);
    var_dump($validation);
    if ($validation['success'] !== true) {
        $errors[] = 'CAPTCHA failed. Please try again.';
        }
    }
var_转储($rsp)返回:

本地主机:

string(91) "{ "success": false, "challenge_ts": "2016-02-27T17:08:05Z", "hostname": "localhost" }" 

远程服务器始终返回:

bool(false) 
NULL
var_dump($validation)返回:

本地主机:

array(3) { ["success"]=> bool(false) ["challenge_ts"]=> string(20) "2016-02-27T17:08:05Z" ["hostname"]=> string(9) "localhost" } 

远程服务器始终返回:

bool(false) 
NULL
我不是程序员,知识有限。 提前感谢您的帮助

我找到了答案: 我的远程主机php文件上未启用allow\u url\u fopen!
谢谢

把问题交给程序员吧,因为在公开的网站上发布秘密并不是最聪明的主意。谢谢你的回复。我在发布之前修改了它,这显然不是真正的密钥。我没有程序员,我是在别人的帮助下自己创建网站的。我只是想将reCAPTCHA添加到我的注册页面,因为我的数据库已经被机器人超载。如果您知道为什么相同的代码在服务器之间的行为不同,请告诉我。谢谢您是否在recaptcha上正确注册了域和所有内容?你不能只生成两个密钥,然后在你想要的任何地方使用它们,它们必须绑定到网站的地址。这对我也很有用。我的Web主机上缺少该php指令。谢谢