Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: KBopot z GD2
Forum PHP.pl > Forum > PHP
wirtus
Witam !

Wiem, ze temat GD2 byl juz poruszany na forum wielokrotnie, lecz na moj problem odpowiedzi na nim nie znalazlem.

A problem jest taki:

Mam zainstalowana na freebsd biblioteke w wersji 2.0.15
php w wersji 4.3.3RC1

i mam nastepujace komunikaty:

Call to undefined function: imagejpeg() in /var.........
Call to undefined function: imagecreatefromjpeg() in /var.........

itp.... Z czym to moze miec zwiazek ?

to jest skrypt, ktorego uzywam (znaleziony zreszta na tym forum):

[php:1:6db098dd40]<?php
function image_resize($source, $output, $width, $height){

if(!$quality=@func_get_arg(4)){$quality=100;}

$size=getimagesize("$source");
if($size[2]==1){$image1=ImageCreateFromGif("$source");}
elseif($size[2]==2){$image1=ImageCreateFromJpeg("$source");}
elseif($size[2]==3){$image1=ImageCreateFromPng("$source");}

if(isset($width) && $height==0){
if($width<$size[0]){
$a=$size[0]/$width;
$height=$size[1]/$a;
}else{
$width=$size[0];
$height=$size[1];
}
}

if($width==0 && isset($height)){
if($height<$size[1]){
$a=$size[1]/$height;
$width=$size[0]/$a;
}else{
$width=$size[0];
$height=$size[1];
}
}

$image2=imagecreate($width, $height);

imagecopyresized($image2, $image1, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);

header ("Content-type: image/jpeg");

Imagejpeg($image2, "", $quality);

}

image_resize("okladki/103.jpg", "103_mini.jpg", "120", "", "75");
?>[/php:1:6db098dd40]
Seth
Jezeli pod winda to zobacz czy odkomentowales
extensions = php_gd.dll w php.ini
wirtus
SETH > w pierwszym poscie pisalem, ze pod freebsd


W phpinfo pokazuje mi takie cos:

gd
GD Support enabled
GD Version bundled (2.0.15 compatible)
GIF Read Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Seth
Sorry nie doczytalem :oops:
radzaw
kod z manuala php smile.gif
[php:1:ca30d115c2]<?php
var_dump(gd_info());
?>[/php:1:ca30d115c2]

i zobacz czy masz 'JPG Support', jezeli nie, to widocznie masz skompilowanego php i gd bez obslugi jpg, lub/i brak ci libjpeg na freebsd.
wirtus
Napisalo:

Cytat
array(10) { ["GD Version"]=> string(27) "bundled (2.0.15 compatible)" ["FreeType Support"]=> bool(false) ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(false) ["JPG Support"]=> bool(false) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }


wiec wnioskuje ze nie obsluguje.... tylko jak w takim razie to wlaczyc ?
KaMeLeOn
http://www.php.net/manual/pl/ref.image.php => Instalacja
patrycjusz
mam wlasnie dokladnie taki problem, i przeanlizowalem manuala na tym pkt i dochodzę do wniosku że coś nie tak z moim angielskim rolleyes.gif
będe wdzięczny za odpowiedź czy da się zmienić tą sytuacje z poziomu skryptu czy też jednak w trakcie kompilacji.
Z góry dzięki za pomoc.
Pozdrawiam patS.
adwol
Cytat
wiec wnioskuje ze nie obsluguje.... tylko jak w takim razie to wlaczyc ?

Zobacz co wypiszą takie polecenia z shella (ścieżki zamień oczywiście na właściwe):
Kod
ldd /usr/lib/php/gd.so | grep jpeg

ldd /usr/lib/libgd.so.2 | grep jpeg

Jeśli oba nie zwrócą nic, to musisz przekompilować to rozszerzenie z biblioteką libjpeg. Link do szczegółów jak to zrobić podał KaMeLeOn.
Sh4dow
Poniższy text jest w manuala http://www.php.net/manual/pl/ref.image.php komentarz 5 od gory, z tego co wiem u patrycjusza to podzialalo(chyba tongue.gif)
mam nadzieje ze pomoze, lecz jest to problem tylko z Linuxem, jak to wykonac pod Windowsem, nie wiem.
Cytat
i tried to install gd on linux (RedHat 8.0) with apache 1.3.27 and php 4.3.2
i had libjpeg, libz, libgif, libpng, libgd installed in /usr/lib.
i compiled php using following ./configure command:

./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-gd-dir=/usr/lib --with-freetype --with-freetype-dir=/usr/lib --enable-ftp --with-jpeg --with-jpeg-dir=/usr/lib --with-png --with-png-dir=/usr/lib --with-gif --with-gif-dir=/usr/lib --with-xml --with-xslt --with-zlib --with-zlib-dir=/usr/lib

it compiled without any problem. but phpinfo() did not show jpeg support.
and it did not find imagecreatefromjpeg() so i installed libjpeg-6b in different directory (in /usr/lib/jpeg6b) and recompiled php with following command.

./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-gd-dir=/usr/lib --with-freetype --with-freetype-dir=/usr/lib --enable-ftp --with-jpeg --with-jpeg-dir=/usr/lib/jpeg6b --with-png --with-png-dir=/usr/lib --with-gif --with-gif-dir=/usr/lib --with-xml --with-xslt --with-zlib --with-zlib-dir=/usr/lib

and imagecreatefromjpeg() started working.

also phpinfo() shows jpg support enabled.
----------output of phpinfo()-------------
[snip]
gd
GD Support enabled
GD Version bundled (2.0.12 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
[snip]
----------output of phpinfo()-------------
lolek09
Hmmm... jakby tu zacząć. Próbowałem zainstalować php5b z gd + jpeg. Zainstalowałem odpowiednią bibilotekę w katalogu /usr/loca/jpeg6b, no i podaję sobie w configure:

--with-gd --with-gd-dir=/usr/local/gd --with-jpeg --with-jpeg-dir=/usr/local/jpeg6b

Ustawiam też inne opcje, ale z nimi nie mam jakoś problemów. No więc dostaję podczas konfiguracji błąd Can't find file libjpeg.(a|so). Wie ktoś może coś o tym? A może miał ktoś jakiś taki błąd?

Zainstalowałem jpegsrc.v6b.tar.gz z http://www.ijg.org/files/

Za każdą pomoc będę wdzięczny.
radzaw
Cytat
Can't find file libjpeg.(a|so)

Powiedzial Ci, ze nie znalazl pliku, a wiec zobacz czy on tam jest.
Pod adresem podanym kawalek wyzej w tym temacie masz napisane jak budowac libjpeg : ./configure --enable-shared
lolek09
Budowałem dokładnie wg. przepisu. No i w katalogu /usr/local/jpeg-6b (--prefix=/usr/local/jpeg-6b) nie ma tego pliku chociaż kompiluję z --enable-shared.
I prawdę mówiąc to nie wiem co jest źle. Pod win to wsytarczy odpowiedni dll wrzucić gdzie trzeba. A mi się linuxa zachciało tongue.gif Ale czego się nie robi w imie nauki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.