简单 php-captcha 错误:找不到字体文件


simple-php-captcha Error: Font file not found

我正在尝试在我的服务器上安装这个验证码脚本:

http://www.abeautifulsite.net/blog/2011/01/a-simple-php-captcha-script/

我已经更新了文件并尝试运行演示。但是,验证码图像不会按预期显示。

当我尝试直接打开验证码图像时,出现此错误

致命错误:未捕获的异常"异常",并显示消息"字体文件" 未找到:"在 /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)];

我已经检查过,所有必需的文件都在文件夹中。

有谁知道如何解决此错误?

我刚刚发现简单的 php 验证码不适用于页面缓存,并且异常"找不到字体文件"被错误地抛出了一些东西。我确保带有CAPTCHA图像的页面没有缓存并且问题已解决。

在我的特殊情况下,我有一个页面/register/它有一个验证码图像。我正在使用W3 Total Cache为我的WordPress网站进行页面缓存。

希望这有帮助。

如果验证码中未显示字体,请转到 wamp 服务器 wampthemes 然后查找字体文件夹,然后搜索所需的字体。右键单击字体属性,复制 democatcha.php 文件中 $font['C://wamp/....../fonts/xyz.tff'] 的路径,然后它就可以工作了。