Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Call to undefined function: imagettftext()
Forum PHP.pl > Forum > PHP
krzysiek0210
Witam,
Chcąc wygenerować obrazek w php wyrzuca mi błąd:
Cytat
Call to undefined function: imagettftext()

Początkowo myślałem, że na serwerze brakuje biblioteki FreeType, jednak doinstalowałem ją a problem nadal występuje.
Cytat
'./configure' '--with-apxs' '--with-curl' '--with-curl-dir=/usr/local/lib' '--with-gd' '--with-gd-dir=/usr/local' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-mhash' '--with-mysql=/usr/local/mysql' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xml' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--with-openssl' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-track-vars' '--enable-mbstring' '--enable-memory-limit' '--with-freetype-dir=/usr/lib' '--enable-gd-native-ttf'

Wie ktoś o co chodzi? Kod jest sprawdzony bo na poprzednim serwerze działał prawidłowo, błąd pojawił się dopiero po przeprowadzce.
PawelC
Zobacz czy to Ci zadziała na serwerze:
  1. <?php
  2. header("Content-type: image/png");
  3. $im = imagecreatetruecolor(400, 30);
  4. $white = imagecolorallocate($im, 255, 255, 255);
  5. $grey = imagecolorallocate($im, 128, 128, 128);
  6. $black = imagecolorallocate($im, 0, 0, 0);
  7. imagefilledrectangle($im, 0, 0, 399, 29, $white);
  8. $text = 'Testing...';
  9. $font = 'arial.ttf';
  10. imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
  11. imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
  12. imagepng($im);
  13. imagedestroy($im);
  14. ?>

I oczywiście musisz wrzucić czcionke arial.ttf na serwer, a przy tym kodzie co teraz Ci nie działa, wklej go i czy wrzuciłeś plik ttf na serwer?
bim2
~ExPloti co to mu da?
Jeśli wyskakuje błąd, że nie ma funkcji to jej nie ma. To, że podałes mu kod, który u ciebie działa nic nie zmieni, bo funkcja dzięki temu się nie pojawi.
krzysiek0210
kod ExPlOiT zwraca:
Cytat
Obrazek "http://xxx" nie może zostać wyświetlony, ponieważ zawiera błędy.


czego brakuje na serwerze ze nie obsługuje tej funkcji?
Cysiaczek
Zakładam, że freetype
Cytat
Notatka: This function requires both the GD library and the » FreeType library.
bim2
Cytat
Notatka: This function requires both the GD library and the » FreeType library.

Coś musiałeś źle zainstalować.
Largo
Witam,

Tak na moje oko, to chyba się pomyliłeś w ./configure:

--with-freetype=/usr/lib

A nie powinno być:

--with-freetype=/usr/local/lib

? Popatrz dokładnie na ścieżki, a jak nie, to Manual, Google i bibliotekę doinstalujesz :-)

Pozdrawiam,
Largo
krzysiek0210
Ścieżka raczej dobra bo plik /usr/lib/libfreetype.so istnieje.
Pilsener
Cytat
błąd pojawił się dopiero po przeprowadzce.


Zainstaluj bibliotekę GD2, po instalacji sprawdź w phpinfo czy masz:

Cytat
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.