使用Zend_Captcha_Image时我有一个奇怪的问题。有时它会产生空的验证码,只有线条和点,但没有文字:(
编辑:每4-10次网页浏览/图片刷新就会发生这种情况。
这只发生在一台服务器上。在具有相同操作系统的另一个操作系统上没有任何问题。
答案 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
更新:错误日志中的相关信息?你记错了吗?