Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

php neu kompilieren... wie?!

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

php neu kompilieren... wie?!

Beitrag von 6aholic »

hi!


ich habe eine linux suse 9.0 rechner zuhause um ein bisschen zu basteln.
nun will ich die gd einbinden. unter windoofs kein thema:
simikolon raus und es geht.
aber unter linux gehts nicht, ich denke hierzu muss ich php neu kompilieren.
ich hab leider keine ahnung- wie?

so far.
6aholic.
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
Benutzeravatar
nbkr
Guru
Guru
Beiträge: 2857
Registriert: 10. Jul 2004, 15:47

Beitrag von nbkr »

Kann gar nicht sein, ich bin gefürchtet Wald aus, Wald ein.
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

Beitrag von 6aholic »

danke :)

ich werd mal guggn...
nur die sache ist die:
gd2 und freetype sind laut phpinfo() bereits installiert gewesen, da ich diese auch schon nutze...
nur komisch ist, dass
a) kein .gif support geht [evtl hatte ich den auch schonmal deaktiviert - weiß aber nicht mehr wo?!]
und
b) geht zb imagerotrate() nicht...


dies find ich doch ziemlich merkwürdig...
weiterhin hatte ich schon gesucht, allerdings keine aktuelle 2.0.33er rpm gefunden...

phpinfo() sagt:
gd
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled


.gif support gab es damals nicht, weil nach meinen informationen da eas mit patentrechten noch nicht klar war.
gd 2.0.33 laut boutell kann dies aber. [wie gesagt, keine rpm gefunden.]
siehe http://www.boutell.com/gd/

komisch ist wie gesagt immernoch, dass imagerotrate nicht geht, obwohl in der dokumentation lediglich steht "Anmerkung: Diese Funktion steht nur zur Verfügung, wenn PHP mit der GD Bibliothek übersetzt wurde, die mit PHP zusammen erhältlich ist.".
wie wir sehen, ist gd 2 installiert, vielleicht aber noch nicht mit php "übersetzt" worden?!

ich danke nochmal recht herzlich für die hilfen
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
Benutzeravatar
nbkr
Guru
Guru
Beiträge: 2857
Registriert: 10. Jul 2004, 15:47

Beitrag von nbkr »

6aholic hat geschrieben:danke :)
b) geht zb imagerotrate() nicht...
Der Tippfehler ist wahrscheinlich nur hier, aber zur Sicherheit. die Funktion heißt imagerotate nicht imagerotrate

phpinfo() sagt:
gd
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled
Kein Gif Support drin. Scheint vielleicht eine alte GD gewesen zu sein mit der PHP übersetzt worden ist.

komisch ist wie gesagt immernoch, dass imagerotrate nicht geht, obwohl in der dokumentation lediglich steht "Anmerkung: Diese Funktion steht nur zur Verfügung, wenn PHP mit der GD Bibliothek übersetzt wurde, die mit PHP zusammen erhältlich ist.".
wie wir sehen, ist gd 2 installiert, vielleicht aber noch nicht mit php "übersetzt" worden?!
Vermute ich auch, aber wie gesagt nur eine Vermutung. Lösen lässt sich das mit neukompilieren. Wenn dann die neueste GD auf dem System installiert ist, sollte PHP auch wieder GIF können.
Kann gar nicht sein, ich bin gefürchtet Wald aus, Wald ein.
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

...

Beitrag von 6aholic »

danke!!! (((:

dann hätte ich "nur" noch 2 fragen:
wie kann ich gd neu installieren, so wie du sagst...
und dann anschließend das php neu kompilieren.
[ohne dass die alten einstellungen verloren gehen...]

so far.
6aholic.
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2595
Registriert: 12. Feb 2005, 22:45

Beitrag von panamajo »

nbkr hat geschrieben:komisch ist wie gesagt immernoch, dass imagerotrate nicht geht, obwohl in der dokumentation lediglich steht "Anmerkung: Diese Funktion steht nur zur Verfügung, wenn PHP mit der GD Bibliothek übersetzt wurde, die mit PHP zusammen erhältlich ist.".
wie wir sehen, ist gd 2 installiert, vielleicht aber noch nicht mit php "übersetzt" worden?!
Seit PHP4.3.0 kommt PHP zusammen mit GDlib, und diese ist beim compilieren einer evtl. schon installierten vorzuziehen.
Kann aber gut sein daß deine PHP Version älter ist (SuSE 9.0). In diesem Fall muß gegen die installierte GDlib gelinkt werden, und diese wird keinen GIF Support haben (das Unisys Patent lief erst letztes Jahr ab), entsprechend wird (wie dokumentiert) die Funktion imagerotate() nicht zur Verfügung stehen.
Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2595
Registriert: 12. Feb 2005, 22:45

Re: ...

Beitrag von panamajo »

6aholic hat geschrieben: und dann anschließend das php neu kompilieren.
[ohne dass die alten einstellungen verloren gehen...]
phpinfo() zeigt dir ganz oben die Optionen für configure an, diese übernehmen dann ändern sich die PHP Einstellungen nicht.
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

...

Beitrag von 6aholic »

sorry, aber wie genau sieht der befehl aus?

so, bloß die neue gd?!
'./configure' '--enable-calendar' '--enable-versioning' '--enable-sockets' '--enable-ftp' '--enable-wddx' '--enable-gd-native-ttf' '--enable-xslt' '--enable-track-vars' '--with-apxs=/usr/local/apache/current/bin/apxs' '--with-pgsql=/usr/local/pgsql/current/' '--with-zlib-dir=/usr/lib/' '--with-config-file-path=/etc' '--with-gd=/usr/local/src/lamps/gd-2.0.22' '--with-jpeg-dir=/usr/lib' '--with-tiff-dir=/usr/lib' '--with-png-dir=/usr/lib' '--with-freetype-dir=/usr/local/src/freetype-2.1.5' '--with-ttf=/usr/lib' '--with-xpm-dir=/usr/lib' '--with-xslt-sablot' '--with-expat-dir=/usr/local' '--with-dom=/usr/local' '--with-xmlrpc' '--with-iconv-dir=/usr/local'


und genau das muss ich in die bash haemmern?

so far.
6aholic.
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2595
Registriert: 12. Feb 2005, 22:45

Re: ...

Beitrag von panamajo »

6aholic hat geschrieben:so, bloß die neue gd?!
'./configure' '--enable-calendar' '--enable-versioning' '--enable-sockets' '--enable-ftp' '--enable-wddx' '--enable-gd-native-ttf' '--enable-xslt' '--enable-track-vars' '--with-apxs=/usr/local/apache/current/bin/apxs' '--with-pgsql=/usr/local/pgsql/current/' '--with-zlib-dir=/usr/lib/' '--with-config-file-path=/etc' '--with-gd=/usr/local/src/lamps/gd-2.0.22' '--with-jpeg-dir=/usr/lib' '--with-tiff-dir=/usr/lib' '--with-png-dir=/usr/lib' '--with-freetype-dir=/usr/local/src/freetype-2.1.5' '--with-ttf=/usr/lib' '--with-xpm-dir=/usr/lib' '--with-xslt-sablot' '--with-expat-dir=/usr/local' '--with-dom=/usr/local' '--with-xmlrpc' '--with-iconv-dir=/usr/local'
Also die vielen "/usr/local" lassen mich darauf schließen das das nicht die Ausgabe der PHP Version von SuSE9.0 ist. IMHO ist es nicht wirklich nötig z.B. freetype2 aus den Sourcen zu compilieren, aber wenn du Spaß daran hast... :mrgreen:
Die Option --with-gd=/usr/local/src/lamps/gd-2.0.22 ist falsch, denn du willst ja die funktion imagerotate() verwenden, also mußt du die Sourcen von PHP4.3.* verwenden und dort einfach --with-gd als option angeben.
6aholic hat geschrieben:und genau das muss ich in die bash haemmern?
Im Prinzip ja, bei der hohen Zahl der Optionen würde ich das Ganze eher in ein Shell-Script pasten...
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

...

Beitrag von 6aholic »

erstamal vielen lieben dank!


huch!
habe ich 9.0 geschrieben?!
9.0 hab ich zum testen zu hause, aber das system worum es sich dreht ist das 8.1,...
ich bin nich so der linux und auch nicht der shell scripter - held...

insofern frag ich vorsichtshalber mal nach:
sieht das ganze so aus?


Code: Alles auswählen

#! /bin/sh
./configure --enable-calendar --enable-versioning --enable-sockets --enable-ftp --enable-wddx --enable-gd-native-ttf --enable-xslt --enable-track-vars --with-apxs=/usr/local/apache/current/bin/apxs --with-pgsql=/usr/local/pgsql/current/ --with-zlib-dir=/usr/lib/ --with-config-file-path=/etc --with-gd=/usr/local/src/lamps/gd-2.0.22 --with-jpeg-dir=/usr/lib --with-tiff-dir=/usr/lib --with-png-dir=/usr/lib --with-freetype-dir=/usr/local/src/freetype-2.1.5 --with-ttf=/usr/lib --with-xpm-dir=/usr/lib --with-xslt-sablot --with-expat-dir=/usr/local --with-dom=/usr/local --with-xmlrpc --with-iconv-dir=/usr/local

echo "fertig!?"
und was diese vielen optionen da wollen, auch keine ahnung,...
das freetype brauchte ich irgendwofür - bin mir da selbst nich mehr so sicher. :lol:

so far.
6aholic.
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2595
Registriert: 12. Feb 2005, 22:45

Re: ...

Beitrag von panamajo »

6aholic hat geschrieben:sieht das ganze so aus?
  • - lies mein vorheriges Posting bzgl. --with-gd nochmal durch
    - Die ganzen =/usr/lib/ Pfade müssen =/usr lauten (und die entsprechenden -devel Pakete müssen vorhanden sein
Ansonsten:
http://www.php-faq.de/
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

Beitrag von 6aholic »

danke!
ich habe auf der php-faq seite was gutes gefunden:
Apache Compile Kit. [http://www.loonix.de/html/downloads/det ... id=5&kat=3]

allerdings wird das dort nur mit php 4.0.1 angeboten.
da ich weitere komplikationen aus dem weg gehen wollte, wollte ich eben die version 4.3.4 lassen.

also versuche ich den weg zu gehen: es zu verstehen und selbst zu kompilieren.
ich habe also geguggt was du meinst und bin auf folgende fragen gestoßen:
wieso ist das übersetzen von freetype2 nicht nötig?
wenn ich also nach einer option [--with-gd] kein =/irgendeinpfad/ angebe wird der source der zu kompilierenden version genommen, richtig?

wie genau finde ich nun raus, wo/ was die aktuellen versionen sind?
wieso sind die pfade falsch?

lg und nochmals danke.
so far.
6aholic.
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

...

Beitrag von 6aholic »

noch 2 fragen, die sich mir stellten:

in welchen verzeichniss muss ich mich befinden?
welche php version aus welchen verzeichniss wird also zum kompilieren genutzt, so dass die php.ini und andere einstellungen nicht überschrieben werden?
in welches verzeichniss installiert der dann das?


so far.
6aholic.
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2595
Registriert: 12. Feb 2005, 22:45

Re: ...

Beitrag von panamajo »

6aholic hat geschrieben:in welchen verzeichniss muss ich mich befinden?
Im Verzeichnis der PHP Sourcen. Üblicherweise /usr/local/src/php-$VERSIONSNUMMER
6aholic hat geschrieben:welche php version aus welchen verzeichniss wird also zum kompilieren genutzt, so dass die php.ini und andere einstellungen nicht überschrieben werden?
Immer die Sourcen aus dem aktuellen Verzeichnis.
Die verwendete php.ini kann ebenfalls angegeben werden, laß dir mal die möglichen Optionen mit
./configure --help
ausgeben.
6aholic hat geschrieben:in welches verzeichniss installiert der dann das?
In die Verzeichnisse, die du ./configure mitgibst. Wichtig ist --prefix=, evtl. auch andere Angaben.
6aholic
Newbie
Newbie
Beiträge: 31
Registriert: 28. Jan 2005, 18:20
Wohnort: zu hause.
Kontaktdaten:

...

Beitrag von 6aholic »

ich danke dir!
du bist echt eine große hilfe!

es wäre nett, wenn wir uns mal im icq treffen könnten.

so far.
6aholic.
·-==¤|seXCraft|¤==-·
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Programming's just like sex, one mistake, you support it for life.
spoensche
Moderator
Moderator
Beiträge: 7534
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Beitrag von spoensche »

Als erstes solltest du nach devel rpms für die module (z.B. zlib-devel usw.) auf www.rpmseek.com suchen und bei dir installieren (oder selober compilieren).

Anschließend wechselst du per kommandozeile in das verzeichnis, in das du php entpackt hast.

Code: Alles auswählen

linux~ /home/user/php/>./configure --prefix=/usr/local/php --with-aspx=/usr/local/apache2/bin/aspx --with-mysql=/usr/path/to/mysql-config --with-mysqli=/usr/path/to/mysql-config
für weitere configure optionen führe ./configure --help aus.
Antworten