Masalah
Kadang-kadang fungsi imagettfbbox() menghasilkan jawaban ngawur, misalnya nilai negatif yang besar.
array(8) { [0]=> int(5) [1]=> int(-1610627808) [2]=> int(-1610628216) [3]=> int(134958127) [4]=> int(136904992) [5]=> int(12) [6]=> int(-1610628152) [7]=> int(1075156968) }
Solusi
Menurut referensi [1], penyebabnya mungkin adalah masalah threading.
Untuk mengakalinya, di kode Anda, ulangi pemanggilan imagettfbox() beberapa kali hingga memperoleh jawaban yang tidak ngawur.
Contoh, kode berikut:
$textbox = imagettfbbox($font_size, 0, $this->font, $code);
bisa Anda tambahkan sehingga menjadi:
while (1) { $textbox = imagettfbbox($font_size, 0, $this->font, $code); if ($textbox[2] > 0) break; }
Joomla, komponen D-Mack RecommendFriends
Bug ini menyebabkan CAPTCHA tidak muncul tulisannya, hanya latar belakang dan garis-garisnya saja.
versi yang dicek: Version v2.0.3
Pada baris 607, ganti:
$textbox = imagettfbbox($font_size, $angle, $font, $code) or die('Error in imagettfbbox function");
menjadi:
while (1) { $textbox = imagettfbbox($font_size, $angle, $font, $code) or die('Error in imagettfbbox function"); if ($textbox[2] > 0) break; }