Nach Serverupdate werden plötzlich aus gif's jpg's...

Gesperrt
FriFra
Beiträge: 51
Registriert: So 19. Dez 2004, 20:28
Kontaktdaten:

Nach Serverupdate werden plötzlich aus gif's jpg's...

Beitrag von FriFra » Sa 8. Mär 2008, 16:38

Arrgh... 1und1 hat vor kurzem an meinem Server herumgeschraubt und eine neue php-Version drüber gebügelt. Seit dem werden plötzlich alle gifs in jpgs umgewandelt. Die neuen Bilder liegen im Cache und haben eine schwarzen Hintergrund...
Woher kommt das? Bisher hatte ich keine Probleme, wo kann ich dieses lästige Caching für Bilder die doch ohnehin 1:1 so eingebunden werden wie sie auf dem Server liegen abstellen?

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 11. Mär 2008, 09:29

was der provider geändert hat -> da musst du ihn fragen...

ad. thumb generierung
abstellen seitens contenido ist glaub ich nicht wirklich möglich...

es gibt zwar einen schalter
in der config.misc.php

Code: Alles auswählen

$cfg["cache"]["disable"] = true;
aber der hat anscheinend keine wirkung...

anderer ansatzpunkt wäre die
includes/functions.api.images.php
so umzubauen das gif nicht mehr unterstützt wird...
musst dich da durch den code arbeiten..
*** make your own tools (wishlist :: thx)

FriFra
Beiträge: 51
Registriert: So 19. Dez 2004, 20:28
Kontaktdaten:

Beitrag von FriFra » Di 11. Mär 2008, 09:43

Ich verstehe nur nicht, warum das von einem Tag auf den anderen passiert, ohne dass ich irgend etwas verändert habe! Diese gif's wurden bisher immer 1:1 aus dem entspr. Ordner verlinkt... was der Blödsin jetzt soll ein jpg gleicher Größe (nur ohne Transparenzen) zu basteln um nun wiederum daruf zu verlinken verstehe ich nicht.
Übrigens sagt 1und1 sie hätten im fraglichen Zeitraum garnichts geändert... Es muss IMHO an irgend einem popeligen Konfigurationsparameter hängen, dass das nun plötzlich passiert. :roll:

Wie gesagt ICH hab wirklich nichts gemacht, ich hab nur gemerkt, dass die Bilder plötzlich "komisch" ausahen :evil:

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Di 11. Mär 2008, 10:08

Wahrscheinlich hat die Änderung seitens 1&1 dafür gesorgt, dass nun Thumbnails auch von GIFs erstellt werden. Es ist zur Zeit so, dass die Thumbnailerstellung der "contenido/includes/functions.api.images.php" keine GIF-Erzeugung unterstützt. Deshalb werden dabei JPG-Dateien erzeugt.

Die Thumbnailerstellung selbst wird im verwendeten Modul (also z.B. einer Artikelliste oder der Illustration) angestoßen. Wie diese komplett abzustellen ist, wurde hier im Forum das eine oder andere Mal besprochen.

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Di 11. Mär 2008, 12:56

könnte auch mit der gd-lib zusammen hängen. bis zu einer bestimmten version unterstützte die lib gif und kein png. aber version 2 (irrtum vorbehalten) png statt gif. ein neue gd-lib wird keine gifs mehr erzeugen können.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Di 11. Mär 2008, 13:08

kummer hat geschrieben:ein neue gd-lib wird keine gifs mehr erzeugen können.
Das gilt für neuere Versionen anscheinend nicht mehr:

http://www.libgd.org/FAQ#Does_gd_support_GIF_images.3F

GIFs sollten sich also (wieder) erzeugen lassen. Man müsste das halt nur Contenido wieder beibringen.

FriFra
Beiträge: 51
Registriert: So 19. Dez 2004, 20:28
Kontaktdaten:

Beitrag von FriFra » Di 18. Mär 2008, 18:19

Hm... was mache ich denn nun? Wenn ich das Problem nicht schnell gefixt bekomme, muss ich komplett auf ein funktionierendes CMS umstellen. Es ist doch volkommen hirnrissig ein gif welches in unveränderter Größe eingebunden ist zu cachen und das dann noch als jpg :motz: ...
Es muss doch irgendwo eine Stelle im Code geben, wo man dieses Verhalten abstellen kann. Meinetwegen soll contenido jpgs cachen, aber bitte keine gifs...

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Di 18. Mär 2008, 19:26

Es ist ganz einfach so, dass es PHP-Versionen (bzw. GDLib-Versionen) gibt, die keine GIFs schreiben können. Wahrscheinlich ist dies deshalb nicht vorgesehen.

Der Ansatz wäre allerdings bei den Modulen, die du verwendest, zu suchen. Ich tippe mal auf "Illustration". Dafür gibt hier bereits Ideen bzw. Module zum Ersetzen.

FriFra
Beiträge: 51
Registriert: So 19. Dez 2004, 20:28
Kontaktdaten:

Beitrag von FriFra » Di 18. Mär 2008, 19:54

Warum soll es plötzlich an irgendwelchen Modulen liegen? Bisher lief doch alles bestens! Die Seite ist eine Abwandlung eines contenido beiliegenden Demo-Projektes - und gerade die betreffenden Bilder (bzw. die entspr. container) wurden auch dort schon verwendet. Lt. 1und1 unterstützt die aktuell vorhandene GDLib gif, also kann es daran nicht liegen!
Ich müsste eben "nur" wissen, wo ich dieser Cache-Funktion beibringen kann nur noch jpg zu cachen und alles andere so zu lassen, wie es vorgesehen ist.
Ich würde lieber heute als morgen zu einem anderen cms wechseln, wenn es nicht so viel Zeit kosten würde weil man wieder von vorn anfangen muss. Es kann doch nicht so schwer sein dieses leidige gif gechache wieder abzustellen, bisher lief es doch auch ohne!
Wie sconmal gesagt, das Projekt läuft so schon seit Jahren und seit dem letzten contenido update wurde nicht mehr verändert und trozdem war der Fehler für mich quasi über Nacht da.

tinof
Beiträge: 197
Registriert: Mi 24. Jan 2007, 20:38
Wohnort: Kirchberg / Sa.
Kontaktdaten:

Beitrag von tinof » Mi 19. Mär 2008, 06:24

Wie sconmal gesagt, das Projekt läuft so schon seit Jahren und seit dem letzten contenido update wurde nicht mehr verändert und trozdem war der Fehler für mich quasi über Nacht da.
und
Arrgh... 1und1 hat vor kurzem an meinem Server herumgeschraubt und eine neue php-Version drüber gebügelt.
Da es offensichtlich vorher noch ging, scheint es sich zunächst doch um ein PHP - Problem zu handeln.
Vielleicht hilft es, den gesamten Account auf PHP5 um- bzw. auf PHP4 zurückzuschalten (wenn das die verwendeten Module noch erlauben). Bei 1&1 kann man das per .htaccess o.ä. 'global' vornehmen - schau mal in die Hilfe bei denen.

Anonsten, bevor du Zeit in ein neues CMS investierst, nimm dir bitte noch hier ein paar Minuten und informiere uns :
- aktuelle PHP - Version
- aktuelle Contenido - Version
- in welchem (n) Modulen tritt das Problem auf ?
- vielleicht mal einen Beispiellink

Vielleicht finden wir ja noch eine konstrutive Lösung.

Grüße
Tino
Für die Freizeit : www.hobbybrauer.de

FriFra
Beiträge: 51
Registriert: So 19. Dez 2004, 20:28
Kontaktdaten:

Beitrag von FriFra » Mi 19. Mär 2008, 08:02

Betroffene Webseite (Contenido 4.6.4):
http://www.sv-wahn.de/
Die beiden Grafiken links und rechts oben...

PHP-Version:
http://www.sv-wahn.de/info.php

Lt. 1und1 wurde nur das Betriebssystem aktualisiert und an der PHP Version nichts verändert. Die einzige Änderung wäre, das neuerdings neben der gd-lib auch imagemagic verfügbar ist.

tinof
Beiträge: 197
Registriert: Mi 24. Jan 2007, 20:38
Wohnort: Kirchberg / Sa.
Kontaktdaten:

Beitrag von tinof » Mi 19. Mär 2008, 09:12

Hallo,

also ich habe mir das mal angeschaut, wahrscheinlich ist - wie schon von anderen angemerkt - eine andere gdlib eingebunden worden.

die (ungetestet) schnellste Lösung für dich wäre vielleicht folgende Änderung in der Datei \contenido\includes\functions.api.images.php :

Original

Code: Alles auswählen

function capiImgScale ($img, $maxX, $maxY, $crop = false, $expand = false, 
					   $cacheTime = 10, $wantHQ = false, $quality = 75, $keepType = false)
{

......
	$filename = $img;
	$filetype = substr($filename, strlen($filename) -4,4);
	
	$mxdAvImgEditingPosibility = checkImageEditingPosibility();
	switch ($mxdAvImgEditingPosibility)
	{
		case '1': // gd1
			$method = 'gd1';
			if (!function_exists('imagecreatefromgif') && $filetype == '.gif') 
			{
				$method = 'failure';
			}
			break;
		case '2': //gd2
			$method = 'gd2';
			if (!function_exists('imagecreatefromgif') && $filetype == '.gif') 
			{
				$method = 'failure';
			}
			break;
		case 'im': //imagemagick
			$method = 'im';
			break;
		case '0':
			$method = 'failure';
			break;
		default:
			$method = 'failure';
			break;
	}
	
	switch ($method) 
......
Ändern in:

Code: Alles auswählen

function capiImgScale ($img, $maxX, $maxY, $crop = false, $expand = false, 
					   $cacheTime = 10, $wantHQ = false, $quality = 75, $keepType = false)
{

......
	$filename = $img;
	$filetype = substr($filename, strlen($filename) -4,4);
	
	$mxdAvImgEditingPosibility = checkImageEditingPosibility();
	switch ($mxdAvImgEditingPosibility)
	{
		case '1': // gd1
			$method = 'gd1';
			if (!function_exists('imagecreatefromgif') && $filetype == '.gif') 
			{
				$method = 'failure';
			}
			break;
		case '2': //gd2
			$method = 'gd2';
			if (!function_exists('imagecreatefromgif') && $filetype == '.gif') 
			{
				$method = 'failure';
			}
			break;
		case 'im': //imagemagick
			$method = 'im';
			break;
		case '0':
			$method = 'failure';
			break;
		default:
			$method = 'failure';
			break;
	}

/* das hier einfuegen */
	if ($filetype == '.gif') 
{
$method = 'failure';
}
/* Ende der Aenderung */	

	switch ($method) 
......
Ungetestet. Trotzdem viel Erfolg.
Für die Freizeit : www.hobbybrauer.de

FriFra
Beiträge: 51
Registriert: So 19. Dez 2004, 20:28
Kontaktdaten:

Beitrag von FriFra » Mi 19. Mär 2008, 22:29

Danke, jetzt geht es wieder. :D

Gesperrt