2017-06-15 5 views
1

Ich habe versucht, ein Captcha-Bild zu machen, das einen zufälligen Text rendert (siehe meine $_SESSION["captcha"]).Kein korrektes Rendering meines Bildes

Es funktioniert perfekt auf meinem localhost mit WAMP, aber auf meiner Website zeigt es nur ein transparentes 64x20 Bild, kein Text auf, nichts.

Ich hatte einen Fehler 500 vor und ich installierte php5-gd + Apache Neustart, vielleicht habe ich etwas zu installieren verpasst?

Ich habe keinen Zugriff auf meine (Fehler) Protokolle.

Hier ist mein Code:

<?php 

session_start(); 

$_SESSION["captcha"] = mt_rand(100, 999); 
$img = imagecreatetruecolor(64, 20); 
$font = "Inversionz.otf"; 

imagealphablending($img, true); 
imagesavealpha($img, true); 

imagefill($img, 0, 0, 0x7fff0000); 
$textcolor = imagecolorallocate($img, 0, 0, 0); 

imagettftext($img, 27, 0, 0, 20, $textcolor, $font, $_SESSION["captcha"]); 

header("Content-type:image/png"); 
imagepng($img); 
imagedestroy($img); 

?> 

Meine Schrift (Inversionz.otf) hochgeladen.

+0

Erhalten Sie Zugriff auf diese Fehlerprotokolle, sie werden Ihnen genau sagen, was das Problem ist. Oder vielleicht können Sie Ihr eigenes Protokoll erstellen? 'ini_set (" log_fehler ", 1); ini_set ("error_log", "/tmp/php-error.log"); error_log ("Hallo, Fehler!"); 'Sie wissen bereits, dass Ihr Code funktioniert, also müssten die Leute eine wilde Vermutung über die Fehler in der Umgebung machen, in der sie ohne Fehlerprotokolle nicht funktioniert. Meine Vermutung ist, dass die Schrift fehlt. – mkaatman

+0

@mkaatman Die Schrift fehlt nicht wie gesagt, ich kann sie herunterladen, indem ich in meinem Browser darauf zugreife. Ich habe Ihren Code hinzugefügt und nichts ist passiert (kein Ordner erstellt/kein Fehler angezeigt). –

+0

Nur für Tritte, auf localhost, wenn Sie den Namen der Schriftart zu etwas ungültigem ändern, stimmt das Verhalten überein? Sind PHP-Versionen gleich? Es ist verrückt, dass Sie Dinge installieren können, aber Sie haben keinen Zugriff auf die Protokolle. – mkaatman

Antwort

1

In Ordnung, Sie haben mich dazu gebracht, diese Schriftart zu finden und lokal zu starten. :)

hatte ich den gleichen Fehler, den Sie bis du mit ...

Paukenwirbel bitte.

Ich fügte dem Pfad ./ hinzu. $font = "./Inversionz.otf";

+0

Omg lol .. Vielen Dank für Ihre Zeit und für Ihre Hilfe! –

+0

Kein Problem. Froh, dass es funktioniert hat. – mkaatman

Verwandte Themen