2014-02-21 49 views
0

我已經在centos服務器中預先安裝了GD庫和Freetype庫。 我無法看到驗證碼圖片。驗證碼圖像在php中不可見

錯誤:

Call to undefined function imagettfbbox() in /path/public_html/captcha/securimage.php 

可能是什麼原因?

謝謝。

+0

您可能沒有正確安裝它。 – Shahar

+0

如果你看看'phpinfo();'的輸出,你看到兩個擴展嗎? –

+0

我可以看到GD擴展。我看不到Freetype。但是,在命令行中它表示它已經安裝。 –

回答

0

嘗試使用reCAPTCHA在某些託管服務器中,基於GD的驗證碼不起作用。我經歷過它。 reCAPTCHA可以與GD庫一起使用。 它從外部服務加載驗證碼圖像並使用公鑰加密進行驗證。 所以內部生成驗證碼圖像。 非常容易使用。

E.G:

前端:

<html> 
    <body> <!-- the body tag is required or the CAPTCHA may not show on some browsers --> 
     <!-- your HTML content --> 

     <form method="post" action="verify.php"> 
     <?php 
      require_once('recaptchalib.php'); 
      $publickey = "your_public_key"; // you got this from the signup page 
      echo recaptcha_get_html($publickey); 
     ?> 
     <input type="submit" /> 
     </form> 

     <!-- more of your HTML content --> 
    </body> 
    </html> 

後端驗證:

<?php 
    require_once('recaptchalib.php'); 
    $privatekey = "your_private_key"; 
    $resp = recaptcha_check_answer ($privatekey, 
           $_SERVER["REMOTE_ADDR"], 
           $_POST["recaptcha_challenge_field"], 
           $_POST["recaptcha_response_field"]); 

    if (!$resp->is_valid) { 
    // What happens when the CAPTCHA was entered incorrectly 
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." . 
     "(reCAPTCHA said: " . $resp->error . ")"); 
    } else { 
    // Your code here to handle a successful verification 
    } 
    ?> 

欲瞭解更多信息請訪問:https://developers.google.com/recaptcha/docs/php