Zend_Captcha_Image生成空的验证码:(

时间:2010-08-17 11:31:38

标签: php zend-framework captcha

使用Zend_Captcha_Image时我有一个奇怪的问题。有时它会产生空的验证码,只有线条和点,但没有文字:(

编辑:每4-10次网页浏览/图片刷新就会发生这种情况。

这只发生在一台服务器上。在具有相同操作系统的另一个操作系统上没有任何问题。

2 个答案:

答案 0 :(得分:0)

我刚刚发现PHP5 GD或Zend中的bug,或者是为debian lenny8编译的php-gd

以下是Zend / Captcha / Image.php

中的代码
$textbox = imageftbbox($fsize, 0, $font, $word);
$x = ($w - ($textbox[2] - $textbox[0])) / 2;
$y = ($h - ($textbox[7] - $textbox[1])) / 2;
imagefttext($img, $fsize, 0, $x, $y, $text_color, $font, $word);

当图像为空白时,会发出类似:

的调用
imagefttext(Resource, 30, 0, 1073741903.5, 45.5, 0, "/fonts/arial.ttf", "z9h8")

这很糟糕,因为X有疯狂的价值1073741903.5。这不在图像中,因此不会写入任何文本。 所以我需要做的是,修复Zend代码,并在调用函数之前检查并修复X和Y值。

我希望这会帮助其他人解决这个奇怪的错误。

答案 1 :(得分:-1)

比较phpinfo()的输出;并比较那里的所有扩展和设置。

顺便说一下,我可以在那里看到图像:https://forum.esfcr.cz/registration.htm

更新:错误日志中的相关信息?你记错了吗?