Problem mit imagettftext

Hallo,

bei mir funzt seit einem Server-Upgrade das imagettftext nicht mehr.
Ich habe mit

if (function\_exists('imagettftext')) {
 echo "ja";
} else {
 echo "nein";
}
$gdinfo = gd\_info();
if($gdinfo['FreeType Support']) echo 'FreeType Support Enabled';

nachgesehen und es kam „ja“ und „FreeType Support Enabled“ enabled als Bildschirmausgabe.
Dennoch funktionieren meine ganzen alten Skripte nicht mehr, die sich auf freetype verlassen. imagestring und so klappt prächtig, sieht aber fies aus. Hat jemand ne Idee, ich weiß nämlich nicht mehr weiter…

lg,
Dirk.

bei mir funzt seit einem Server-Upgrade das imagettftext nicht
mehr.
Ich habe mit

if (function_exists(‚imagettftext‘)) {
echo „ja“;
} else {
echo „nein“;
}
$gdinfo = gd_info();
if($gdinfo[‚FreeType Support‘]) echo ‚FreeType Support
Enabled‘;

nachgesehen und es kam „ja“ und „FreeType Support Enabled“
enabled als Bildschirmausgabe.
Dennoch funktionieren meine ganzen alten Skripte nicht mehr,
die sich auf freetype verlassen.

und welche werte bekommst du fuer „funktioniert nicht“? kein text im bild, fehlermeldungen?

Alles Funktionen, wie
imagefilledrectangle und sogar imagestring
gehen prima.
Nur eben nicht imagettftext. Es bewirkt einfach nichts. Gibt es eine Möglichkeit, wie ich einen möglichen Errorcode diesbezüglich auslesen könnte?

also wichtig ist error_reporting und display_errors an.
mein testscript sieht aus wie unten, lt. php manual. ich weiss im moment noch nicht, warum headers_sent nicht tut, was ich erwarte. beim auftreten eines fehlers haette ich die fehlerausgabe und dann „somethin went wrong“ erwartet.

hilfreich ist, wenn man ins apache error_log schauen kann, dann stehen da die fehler:

[Sat Mar 02 00:04:45 2013] [error] [client xxx] PHP Fatal error: Call to undefined function imagecreatetruecolor() in /var/www/eoe-projekte/ttftest.php on line 6

nach dem installieren von php5-gd (php gdlib binding)
dann die naechste:
[Sat Mar 02 00:11:20 2013] [error] [client xxx] PHP Warning: imagettftext(): Could not find/open font in /var/www/eoe-projekte/ttftest.php on line 25

man sieht die fehler auch mit wget:

je@halo3:~$ wget -O- http://testserver/ttftest.php
--2013-03-02 00:15:47-- http://testserver/ttftest.php
Auflösen des Hostnamen testserver... xxx
Verbindungsaufbau zutestserver|xxx|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: nicht spezifiziert [image/png]
In »STDOUT« speichern.

 [] 0 --.-K/s
Warning: imagettftext(): Could not find/open font in /var/www/eoe-projekte/ttftest.php on line 22
�PNG

 [] 287 --.-K/s in 0s

2013-03-02 00:15:47 (4,13 MB/s) - auf die Standardausgabe geschrieben [/287]






<?php error_reporting(E_ALL);<br />ini\_set("display\_errors",1);

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 128, 128);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial';


// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

if (!headers\_sent()) {
 header('Content-Type: image/png');
 imagepng($im);
} else {
 print "something went wrong";
}

Die Lösung
Ich habe die Lösung entdeckt.
Es braucht bei den Schriftarten den kompletten Pfad (also: /var/www usw.)
So funktioniert es jetzt auch:

imagettftext($im, 20, 0, 10, 20, $black, "/var/www/vhosts/test.de/httpdocs/constani.ttf",
 "Testing... Omega: Ω");

Die Jungs von Pallels haben mir da echt super geholfen. SUPER Support!!!