我正在尝试在我的服务器上安装这个验证码脚本:
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'] 的路径,然后它就可以工作了。