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; }

Referensi

[1] http://bugs.php.net/bug.php?id=22513