Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cine canta? Fragment din melodie...

Tablou sigurante Dacia Sandero 2012

Baby Reindeer - 2024

Hotii voteaza hoti?!
 Camera video masina

Zilele emailului din gospodaria n...

Best gaming laptop?

Humane (2024)
 Recomandare casti 100-150 lei

Schimbare bec far VW Touran 1T3

Plata impozit PF

Ce parere aveti de viteza/ modul ...
 Love Lies Bleeding - 2024

Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...
 

Compilare PHP cu GD cu suport Freetype

- - - - -
  • Please log in to reply
26 replies to this topic

#1
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Salutari,

Am nevoie de PHP cu GD cu suport Freetype, pentru un site care genereaza grafice in timp real. Cel putin asta CRED ca e problema. In logul de erori al Apache primesc:

PHP Fatal error:  Call to undefined function imageftbbox() in <fisier>

Webserverul este in totalitate al meu (adica nu pe host) si este tinut pe un sistem cu CentOS 5.5. Apache, MySQL si PHP sunt toate configurate si compilate de mine, nu sunt versiunile luate cu Yum.

Acuma, care e problema: phpinfo() zice ca am GD instalat, zice ca are suport Freetype, dar daca fac var_dump(gd_info()); intr-un PHP de info, vad asa: array(11) { ["GD Version"]=> string(27) "bundled (2.0.34 compatible)" ["FreeType Support"]=> bool(false) etc.etc.

Am reusit cu succes sa descarc si sa instalez atat GD-ul, cat si freetype, si sa compilez GD-ul cu suport Freetype, insa nu prea ma descurc sa il bag in PHP. In momentul in care configurez PHP-ul si dau calea catre GD acolo unde l-am instalat eu, imi zice ca nu gaseste niste fisiere. Comanda de configure este:

./configure --with-apxs2=/SERVER/Apache/bin/apxs --with-mysql --prefix=/SERVER/PHP --exec-prefix=/SERVER/PHP --with-gd=/usr/local/bin --with-freetype-dir=/usr/include/freetype2

Am cautat pe net de am obosit, si nu gasesc nimic. Are cineva idee cum includ GD cu suport Freetype in PHP?

#2
roboto

roboto

    Junior Member

  • Grup: Members
  • Posts: 198
  • Înscris: 23.01.2013
care e eroare pentru alea...niste fisiere ?

View PostBWD, on 17 martie 2013 - 20:43, said:


niste fisiere



#3
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005
Probabil ai nevoie de gd-devel. Anyway, php-gd-ul de aici  vine cu suport pentru freetype.
GD Support enabled GD Version bundled (2.0.34 compatible) FreeType Support enabled FreeType Linkage with freetype

#4
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013

View Postmufa, on 17 martie 2013 - 21:26, said:

Probabil ai nevoie de gd-devel. Anyway, php-gd-ul de aici  vine cu suport pentru freetype.
Nu prea ma prind ce e acolo, in link-ul ala...

Cat despre gd-devel: Package gd-devel-2.0.33-9.4.el5_4.2.i386 already installed and latest version. Acum ce fac? Posted Image

@roboto: Scuze, m-am zapacit de tot, le gasesc pana la urma in /usr/local/lib, dar la "make" imi da 1000 de erori:

/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:369: undefined reference to `php_gd_gdImageCreateTrueColor'
/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:385: undefined reference to `php_gd_gdImagePaletteCopy'
/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:381: undefined reference to `php_gd_gdImageCopy'
/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:438: undefined reference to `php_gd_gdImageCreateTrueColor'
/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:460: undefined reference to `php_gd_gdImageDestroy'
/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:470: undefined reference to `php_gd_gdImageCreateTrueColor'
/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:497: undefined reference to `php_gd_gdImageDestroy'
/SERVER/Down/php-5.4.4/ext/gd/libgd/gd_rotate.c:440: undefined reference to `php_gd_gdImageDestroy'

etc.

Edited by BWD, 17 March 2013 - 21:59.


#5
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005

View PostBWD, on 17 martie 2013 - 21:54, said:

Nu prea ma prind ce e acolo, in link-ul ala...

Cat despre gd-devel: Package gd-devel-2.0.33-9.4.el5_4.2.i386 already installed and latest version. Acum ce fac? Posted Image

@roboto: configure: error: Unable to find gd.h anywhere under /usr/local/bin

Un repo unde găsești relativ ultimele versiuni de PHP.

Normal ca nu găsește gd.h în /usr/local/bin. Ia dă tu un rpm -ql gd-devel | grep gd.h și vezi pe unde-l găsești.

#6
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Scuze, am editat, sunt cam zapacit la ora asta. Cat despre repo, nu sunt chiar atat de avansat in linux si tocmai de asta prefer sa le instalez pe toate manual, cu wget, dezarhivare, ./configure optiuni, make, make install, apoi stiu clar ce am instalat si unde. Nu prea m-am descurcat bine cu versiunile incluse deja sau descarcate cu Yum, in sensul ca nu gaseam module, nu stiam cum sa configurez, nu existau fisiere de config (php.ini de exemplu) etc.

Asa stiu clar, dau un configure --with-X=dir-unde-e-X, --with-Y=dir-unde-e-Y etc. si mi-l fac cu ce am nevoie. Nu sunt sigur cum fac asta prin... repo.

Cu directorul gasit de rpm -ql gd-devel | grep gd.h, adica usr/include, primesc acum:

configure: error: Unable to find libgd.(a|so) anywhere under /usr/include

Si tot asa... :D

Edited by BWD, 17 March 2013 - 22:09.


#7
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005
Îți faci viața de 1000 de ori mai ușoară instalînd pachetele cu yum decît compilînd din surse. Asta ca să nu zic că e e mai ușor să le ții la zi cu security updates.

Pe scurt, comenzile uzuale yum sunt:

yum search Package - caută pachetul cu numele Package
yum install Package - instalează pachetul Package și dependințele necesare
yum remove Package - dezinstalează/șterge Package dar nu șterge eventualele fișiere modificate manual
yum update - verifică dacă există pachete mai noi și le instalează
yum update Package - verifică dacă există o versiune mai nouă și o instalează
yum info Package - îți dă informații despre Package
and so on.

php.ini există în /etc/, iar restul modulelor își țin fișierele de configurare în /etc/php.d/

#8
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Si daca am nevoie cum am acum sa am PHP cu nu-stiu-ce si e fara, cum procedez? Posted Image Stiam si eu alea, ca doar nu-s prost, numai ca mi-au fost total inutile. Si m-am chinuit mult cu yum la inceput, tot la recomandarea a diverse persoane, insa... era o varza totala, nu gaseam nimic, nu puteam configura nimic, lipseau fisiere etc. Eu momentan consider ca mi-am facut viata mai usoara compiland manual... sa nu mai zic ca de 2 ori mi-a distrus OS-ul prin update de kernel. Acum am kernelul pe lista de exclude in yum.conf, dar zic asa, ca idee.

Edited by BWD, 17 March 2013 - 22:13.


#9
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005
yum search php-gd
yum install php-gd

Kernelul mi se pare că e singurul pachet care se instalează, nu se updatează, adică vei avea mereu atît versiunea actuală, cît și cea anterioară. În cazul în care mașina nu mai butează, te poți întoarce la kernelul anterior.

Nu lipește nimic, nu știi tu unde să cauți.

rpm -qa - listează toate rpm-urile instalate
rpm -ql package (unul din lista de la rpm -qa) - listează toate fișierele care aparțin pachetului respectiv.

#10
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Tot ce stiu e ca lucram remote prin ssh de la servici, cu Putty, moment in care au inceput sa dispara executabilele (command not found pt. orice, ls, cd, mkdir etc.), apoi nu se mai loga (probabil murise si sshd si mai ramasese doar sesiunea activa). Cand am ajuns acasa am dat un reset si la bootare imi dadea o eroare de sistem de fisiere sau kernel, nu mai stiu (cu hardware in stare perfecta, inclusiv HDD). Nu mai puteam sa intru sa dau comenzi. Am incercat ceva vreme sa rezolv cu bootare de pe DVD, si nu am reusit decat cu format & reinstall.

As prefera sa rezolv problema asta manual, asa cum ziceam ca fac eu. Am un sistem perfect stabil, configurat asa cum am nevoie, si nu vreau sa ma complic degeaba. Trebuie doar sa fac cumva sa vada PHP-ul nenorocitul ala de GD.

Edited by BWD, 17 March 2013 - 22:30.


#11
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005
Tu pari să ai probleme mult mai mari pe acolo, fie ceva bubă hardware, fie cineva a intrat la tine pe mașină.

Anyway, ca fapt divers am făcut spin up la un cloud server și mi-a luat mai puțin de 5 minute să instalez Apache și php cu suport pentru GD.

[root@bwdtest ~]# cat /etc/redhat-release
CentOS release 5.8 (Final)
[root@bwdtest ~]# rpm -qa | egrep "httpd|php"
[root@bwdtest ~]# /etc/init.d/httpd status
-bash: /etc/init.d/httpd: No such file or directory
[root@bwdtest ~]# apachectl
-bash: apachectl: command not found
[root@bwdtest ~]# httpd
-bash: httpd: command not found
[root@bwdtest ~]# php -v
-bash: php: command not found
[b][root@bwdtest ~]# date
Sun Mar 17 20:31:32 UTC 2013[/b]
[root@bwdtest ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-5-4.noarch.rpm
[root@bwdtest ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-10.ius.el5.noarch.rpm
[root@bwdtest ~]# rpm --import http://dl.iuscommunity.org/pub/ius/IUS-COMMUNITY-GPG-KEY
[root@bwdtest ~]# yum localinstall epel-release-5-4.noarch.rpm ius-release-1.0-10.ius.el5.noarch.rpm
[root@bwdtest conf.d]# yum install php53u
[root@bwdtest ~]# yum install httpd php53u-gd
[root@bwdtest html]# /etc/init.d/httpd start
Starting httpd:											[  OK  ]
[root@bwdtest html]# chkconfig httpd on
[b][root@bwdtest html]# date
Sun Mar 17 20:35:12 UTC 2013[/b]

http://bwdtest.mufa.ro/info.php

Mi-a luat mai mult să scriu postul ăsta decît să instalez apache+php+gd :D

#12
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Cu problema aia sigur a fost un update "defect" luat de yum, mai multa lume raporta aceeasi problema dupa o updatare automata de kernel. Cat despre ce zici tu, eu te cred. Dar nu am chef acum dupa ce am totul pus la punct sa o iau de la capat. Chiar nu vreau asa ceva. Va fi ceva de incercat data viitoare cand va fi necesar un "wipe", dar momentan, nu.

#13
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005

View PostBWD, on 17 martie 2013 - 23:00, said:

Cu problema aia sigur a fost un update "defect" luat de yum, mai multa lume raporta aceeasi problema dupa o updatare automata de kernel. Cat despre ce zici tu, eu te cred. Dar nu am chef acum dupa ce am totul pus la punct sa o iau de la capat. Chiar nu vreau asa ceva. Va fi ceva de incercat data viitoare cand va fi necesar un "wipe", dar momentan, nu.
Te înțeleg. Hai că încerc să compilez php-ul și gd-ul pe serverul creat mai devreme, dar avînd în vedere că are doar 512Mb, o să dureze ceva. :D

#14
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Nu e urgent, doar caut o rezolvare. Mersi pentru ajutor. ;)

#15
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005

View PostBWD, on 17 martie 2013 - 23:39, said:

Nu e urgent, doar caut o rezolvare. Mersi pentru ajutor. Posted Image
Ok. Pînă acum am compilat freetype și GD cu suport pentru freetype. Acum muncesc la php.

BTW, sper ca Pierre Joye să moară-n chinuri groaznice.

#16
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Ala cine mai e? Posted Image

P.S.: Pana acolo am ajuns si eu :D

Edited by BWD, 18 March 2013 - 00:19.


#17
mufa

mufa

    Porc misogin

  • Grup: Super Moderators
  • Posts: 40,789
  • Înscris: 13.01.2005
Ok, se pare că am reușit.

Pasul 1: freetype

cd freetype-2.4.11/
./configure --prefix=/usr/local
make
make install

Pasul 2: GD
cd pierrejoye-gd-libgd-5551f61978e3/src
./configure --prefix=/usr/local --with-freetype=/usr/local/include/
make
make install

Pasul 3: PHP
cd php-5.3.23/
./configure --prefix=/usr/local/ --with-gd=/usr/local/ --with-freetype-dir=/usr/local/include/
make
make install

[root@bwdtest php-5.3.23]# /usr/local/bin/php -v
PHP 5.3.23 (cli) (built: Mar 17 2013 22:19:08)
Copyright © 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright © 1998-2013 Zend Technologies
[root@bwdtest php-5.3.23]# /usr/local/bin/php /var/www/html/info.php  | grep ^gd$ -A7
gd
GD Support => enabled
GD Version => 2.0
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.4.11
GIF Read Support => enabled

#18
BWD

BWD

    Active Member

  • Grup: Members
  • Posts: 1,010
  • Înscris: 02.02.2013
Imi poti spune de unde ai luat pierrejoye-gd-libgd-5551f61978e3 ?

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate