我正在尝试在我的服务器上安装此CAPTCHA脚本:
http://www.abeautifulsite.net/blog/2011/01/a-simple-php-captcha-script/
我已将文件上传并试图运行该演示。但是,CAPTCHA图像不会显示。
当我尝试直接打开CAPTCHA图像时,我收到此错误
致命错误:带有消息'字体文件的未捕获异常'异常' 找不到:'in /home/website/public_html/simple-php-captcha/simple-php-captcha.php:125 堆栈跟踪:#0 {main}被抛入 /home/website/public_html/simple-php-captcha/simple-php-captcha.php on 第125行
以下代码:
Line 125: if( !file_exists($font) ) throw new Exception('Font file not found: ' . $font);
字体文件路径在代码中设置:
$captcha_config = array(
'code' => '',
'min_length' => 5,
'max_length' => 5,
'png_backgrounds' => array(dirname(__FILE__) . '/default.png'),
'fonts' => array(dirname(__FILE__) . '/times_new_yorker.ttf'),
'characters' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
'min_font_size' => 24,
'max_font_size' => 30,
'color' => '#000',
'angle_min' => 0,
'angle_max' => 15,
'shadow' => true,
'shadow_color' => '#CCC',
'shadow_offset_x' => -2,
'shadow_offset_y' => 2
);
$font = $captcha_config['fonts'][rand(0, count($captcha_config['fonts']) - 1)];
我已检查过,所有必需的文件都在文件夹中。
有谁知道如何修复此错误?
答案 0 :(得分:0)
我刚刚发现简单的php验证码不能用于页面缓存,并且“找不到字体文件”的异常会被错误地抛出。我确保其上没有CAPTCHA图像的页面没有缓存,问题也解决了。
在我的特定情况下,我有一个页面/register/
,它有一个CAPTCHA图像。我正在使用W3 Total Cache为我的WordPress网站进行页面缓存。
希望这有帮助。