Heim > Artikel > Backend-Entwicklung > Probleme und Lösungen, die bei der Verwendung von PHP zum dynamischen Generieren von GIF auftreten
PHP schreibt nicht nur die Ausgabe von HTML-Dateien vor, es kann auch dynamische GIF-Dateien generieren. Bei der Verwendung von PHP zum dynamischen Generieren von GIF-Bildern sind einige Probleme aufgetreten, die mit PHP4.05 (für Win32) + Apache3.1.2_win32 behoben wurden.
Problem 1: Das Programm zum dynamischen Generieren von GIF lässt sich überhaupt nicht aktivieren
Ich habe beim Ausführen ein Beispiel für die Verwendung von PHP zum Generieren von GIF geschrieben Ich habe festgestellt, dass die Seite nicht aktualisiert werden kann, als ob sie tot wäre und der Browser keine Fehlermeldungen anzeigt.
Lösung: Ändern Sie php.ini in dem Verzeichnis, in dem sich PHP befindet.
Durch die Hilfe von osso.com-Mitglied selo wurde mir gesagt, dass ich php.ini in dem Pfad ändern muss, in dem sich PHP befindet PHP ist installiert (Hinweis: Es muss php.ini unter dem PHP-Pfad sein) extension_dir = die Pfaderweiterungen, in denen PHP installiert ist (zum Beispiel: c:phpextensions).
Frage 2: php_gd.dll unterstützt kein GIF
Ich habe die dynamische Linkbibliothek php_gd.dll zu Beginn des Programms geladen: dl("php_gd.dll"); Das Programm wurde wie folgt angezeigt:
Warnung: ImageGif: Keine GIF-Unterstützung in diesem PHP-Build in d:apachehtdocsgif2.php312
.
Lösung: Verwenden Sie php4.05
Da entdeckte ich, dass es ein im Buch beschriebenes Problem war, dass php_gd.dll die Generierung von GIF überhaupt nicht unterstützen konnte. Ich habe nur meine Version davon herausgefunden php4, nachdem ich von einem Experten angeleitet wurde, fehlt php_gd_gif.dll, daher habe ich eine höhere Version von php4.05 heruntergeladen, die php_gd_gif.dll enthält, die die Generierung dynamischer GIFs unterstützt.
Frage 3: Es erscheint eine Warnung: Warnung: Funktionsregistrierung fehlgeschlagen - doppelter Name - imagearc in d:apachehtdocsgif2.php3 in Zeile 3
Die Vorgehensweise ist wie folgt:
dl("php_gd_gif.dll");
header("content-type:image/gif");
$im = imagecreate(400,30); $black = imagecolorallocate ($im,0,0,0);
$white = imagecolorallocate($im,255,255,255);
imageline( $im,200,15,215,15,$white); imagestring($im , 5, 4, 10, „This is a Gif“, $white);
imagegif($im);
Lösung: Ändern Sie das Programm oder die php.ini
Die Funktion dl() wird zum Laden der DLL verwendet, aber wenn Sie das „;“ vor dem erforderlichen ändern dll in der Datei php.ini: „Wenn sie entfernt wurde, verwenden Sie diese Funktion derzeit nicht.“
Wenn das „;“ vor der Erweiterung=php_gd_gif.dll in der INI-Datei nicht entfernt wird, muss dl(„php_gd_gif.dll“); verwendet werden. Kurz gesagt: Die beiden unterscheiden sich voneinander. Andernfalls geht der Server davon aus, dass es sich um einen doppelten Namen handelt.