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