HowTo install PHP5

  • Thread starter Thread starter server4downs
  • Start date Start date
Status
Not open for further replies.
Apxs2 wird fuer die dynamische eingebundenen Module benoetigt. Solltst du alles static eincompelieren, brauchst du das nicht unbedingt.

make: *** No rule to make target `/root/php-5.1.2/ext/bz2/bz2.c', needed by `ext/bz2/bz2.lo'. Stop.
bz2 nicht installiert?

Und nun heisst es mal selber suchen. Steht alles hier im Forum.
Google spuckt auch sehr viel Brauchbares aus.

[edit nach server4downs' Post ein weiter unten] Jap: apxs2 sollte eigentlich immer "mitgenommen" werden.
Auf Grund fehlender guter Laune ist meine Antwort heute Nacht etwas duerftig ausgefallen. ;)
 
Last edited by a moderator:
Guin said:
Apxs2 wird fuer die dynamische eingebundenen Module benoetigt. Solltst du alles static eincompelieren, brauchst du das nicht unbedingt.
Einem Anfänger würde ich aber nicht einen solchen Rat geben!
Denn wenn er es weglässt und sich mit der Materie nicht auskennt, kompiliert er den ganzen Spaß nur als CGI.
Nicht unbedingt im Sinne des Erfinders.
 
Ich würds ja mit einbinden :). Aber wenn ich
Code:
--with-apxs2=/usr/sbin/apxs2-prefork
Eingebe kommt no file or direktory. Und wenn ich nach apxs2 suche kommt nix kommischer weise hat php4 aber das als Ziehl. Oder muss ich erst apxs2 erst kombelieren?

Etwas ahnung hab ich schon. Nur halt kein Profie kombelieren tue i sehr selten.
Und wenn ich mich an meiner ersten PHP5 Installation denk hats ja au geklappt nur musst ich für jeden Benützer ein neuen Direktory eintrag machen liegt wohl daran das kein apxs mit drinne wahr.
 
*mhh* habe jetzt "1.0.3 source tarball" Installiert hatt auch ohne probleme geklappt.

Habe es getestet: "****:~ # bzip2 gdbm-1.8.0-3.i386.rpm"
Ee hatt eine Datei: "gdbm-1.8.0-3.i386.rpm.bz2" Erstellt so das ich davon ausgehen kann das das Packen geht.
"****:~ # bunzip2 gdbm-1.8.0-3.i386.rpm.bz2" Auch wieder keine Fehler allso läuft es :D

Nun habe ich aber immer noch denn Fehler :(

Habe jetzt mal kommplett alles Kopiert ab wo ein Fehler kommt beim make.
configure Parameter immer noch wie ein par Post weiter unten.
creating scripts/man1/php-config.1
creating sapi/cli/php.1
creating main/php_config.h
main/php_config.h is unchanged
creating main/internal_functions.c
grep: ext/bz2/config*.m4: No such file or directory
grep: ext/dba/config*.m4: No such file or directory
grep: ext/dom/config*.m4: No such file or directory
grep: ext/ftp/config*.m4: No such file or directory
grep: ext/gd/config*.m4: No such file or directory
grep: ext/gmp/config*.m4: No such file or directory
grep: ext/spl/config*.m4: No such file or directory
grep: ext/xml/config*.m4: No such file or directory
gawk: ./build/print_include.awk:1: (FILENAME=ext/bcmath/php_bcmath.h FNR=69) fat al: cannot open file `ext/bz2/*.h' for reading (No such file or directory)
creating main/internal_functions_cli.c
grep: ext/bz2/config*.m4: No such file or directory
grep: ext/dba/config*.m4: No such file or directory
grep: ext/dom/config*.m4: No such file or directory
grep: ext/ftp/config*.m4: No such file or directory
grep: ext/gd/config*.m4: No such file or directory
grep: ext/gmp/config*.m4: No such file or directory
grep: ext/spl/config*.m4: No such file or directory
grep: ext/xml/config*.m4: No such file or directory
gawk: ./build/print_include.awk:1: (FILENAME=ext/bcmath/php_bcmath.h FNR=69) fat al: cannot open file `ext/bz2/*.h' for reading (No such file or directory)

Ps: An grep sollte es nicht liegen das läuft momaler weise.
Kommischer weise gibt es Zwar das Verzeichniss ext/*/ aber bei allen Verzeichnissen wo er auch denn Error aus gibt (so weit ich das eben gesehen habe) Fehlt die gesuchte config...
 
Last edited by a moderator:
Hast du von den aufgeführten Programmen denn die "Devel-Version" installiert?
Solltest du mal nachholen.
Am besten einfach schnell mit yast installieren, denn du setzt ja SuSe ein, right?
 
hallo!...
Ich hab jetzt auch per wget die Datei runtergeladen und entpackt... Nun kommt mein Problem... Hab ne' phpinfo gemacht und hochgeladen... allerdings steht da keine ./configure drin...
Wo bekomm ich das nun her?
hier der Link zur phpinfo: http://web0.v446.ncsrv.de/info.php


Danke, skenic2003

[EDIT]
Okay, ich hab jetzt soweit eine Liste, was ich alles einbinden will...
Ich hab die Sachen genommen, die bei mir in der phpinfo im einzelnen weiter unten stehen...
Allerdings soll ich nach den meisten Befehlen den Ordner angeben von den sachen... Leider stehen diese nicht in meiner phpinfo...
mit whereis findet er sie nicht und per z.B. apt-get install zlib-dev meint er, er könne das Paket nicht finden...
Andererseits sind sie ja zur Zeit auch alle eingebunden...
Muss ich also die Ordner wirklich angeben und wo finde ich herraus, wo diese sind?
Weiteres Problem ist, dass er mir bei ./configure einen Fehler bringt...
Code:
v446:~/php-5.1.2# ./configure --program-prefix= --prefix=/usr/local/php5 --datadir=/usr/share/php5 --mandir=/usr/share/man/php5 --bindir=/usr/local/php5/bin --exec-prefix=/usr/local/php5 --includedir=/usr/include/php5 --sysconfdir=/etc/php5 --localstatedir=/var --with-config-file-path=/etc/php5 --with-exec-dir=/usr/lib/php5/bin --disable-debug --with-zlib --with-bz2 --enable-calendar --enable-dba --with-gdbm --with-db4 --with-inifile --with-flatfile --enable-exif --enable-ftp --with-openssl-dir --with-gd --with-jpeg-dir --with-png-dir --with-ttf  --with-freetype-dir --with-t1lib --with-gettext --with-imap --enable-mbstring --with-mysql=/usr --with-apxs2=/usr/sbin/apxs2 --enable-session --enable-memory-limit --enable-magic-quotes
loading cache ./config.cache
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for AIX... no
checking whether ln -s works... yes
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking for re2c... no
configure: warning: You will need re2c 0.9.11 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for bison... no
checking for byacc... no
checking for bison version... invalid
configure: warning: bison versions supported for regeneration of the Zend/PHP parsers: 1.28 1.35 1.75 1.875 2.0 2.1 (found: none).
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 3246: lex: command not found
configure: error: cannot find output from lex; giving up


Kann mir jemand helfen? Kenn mich auch noch net so gut aus mit Linux..
Hab einen Debian vServer.. ;)
 
Last edited by a moderator:
server4downs said:
Hast du von den aufgeführten Programmen denn die "Devel-Version" installiert?
Solltest du mal nachholen.
Am besten einfach schnell mit yast installieren, denn du setzt ja SuSe ein, right?

Einfach mal so mit Yast Installieren *G*

>Yast
ENTER
Software > Software Installieren oder löschen...
Suche nach gd...
i gd (Version 2.0.15)
i gd-devel (Version 2.0.15)
Okay schon Installiert komisch :/

Suche nach libxml...
i libxml (Version 1.8.17)
i libxml-devel (Version 1.8.17)
Allso wenn ich mich nicht richtig irre steht das i für Installier oder:confused:

Suche nach gmp...
i gmp (Version 4.1.2)
Eine devel gibt es dort leider nicht im Internet gehabe ich für diese Version leider auch keine gefunden.

Ergent wie alles etwas komisch weiß jemand Hilfe?
 
Wenn *.h Datein fehlen, fehlt oftmals die Devel[oper] Version. Diese enthaelt die fuer's Compelieren benoetigten Datein.
Ich wuerde vorschlagen, die entsprechenden Datein neu zu installieren.

@skenic2003: ein "apt-cache search zlib" hilft weiter. Wenn dir apt sagt, dass es das Paket nicht gibt, wird das wohl stimmen.
Zum Auffinden hilft auch "locate <name>"
 
Guin said:
Wenn *.h Datein fehlen, fehlt oftmals die Devel[oper] Version. Diese enthaelt die fuer's Compelieren benoetigten Datein.
Ich wuerde vorschlagen, die entsprechenden Datein neu zu installieren.

Jep Logisch hatte server4downs ja schon angesprochen habe jetzt es auch erst mal mit gd getestet Packet Deinstalliert alles okay Packet wieder Installiert alles okay... tja bei Ausführen von configure die Fehler der anderen Packet (logisch da habe ich ja auch nichts geändert) leider aber auch immer noch der Fehler von gd :(

Hatt sonst jemand eine Seite oder so wo ich die Aktuelle Version + Devel bekomme von bz2, dba, dom, ftp, gd, gmp, spl und xml. Vieleicht sind die auf der CD wo er die Pakete von Installiert einfach incht mit PHP5 Kompatibel oder so etwas.

So das ich die den per Hand Installieren kann die oben genannten Pakete weil auf denn Offizielen Seiten von gd ,bzw etc... sehe ich ergent wie nie devel Pakete.
 
Es ist auch immer die Frage WAS man so alles einkompiliert. Unnötige Dinger kann man ja auch draußen lassen...

@gfxclub:
Hast du denn aktuelle "Sources" bei deinem Yast-Dingens eingestellt?
Oder ist das ein total veralteter/unaktueller Mirror deines Providers?
Dann würde ich dir mal empfehlen da was zu ändern.
 
server4downs said:
Es ist auch immer die Frage WAS man so alles einkompiliert. Unnötige Dinger kann man ja auch draußen lassen...

@gfxclub:
Hast du denn aktuelle "Sources" bei deinem Yast-Dingens eingestellt?
Oder ist das ein total veralteter/unaktueller Mirror deines Providers?
Dann würde ich dir mal empfehlen da was zu ändern.

Okay habe PHP ganz runter geschmießen und man siehe da die Installation von php5 läuft ohne probs. mit einer kleinen configure änderung durch *freu*

Ich danke noch mal für alle Hilfe jetzt gehts ans mysql Updaten :p

@server4down
"Hast du denn aktuelle "Sources" bei deinem Yast-Dingens eingestellt?" Verstehe denn Satz ergent wie nicht so wircklich wenn das zu Offtopic ist schreibe mir das sonst kurz per PN.
Die Server sonst sind Aktuell und von suse.com.
 
Last edited by a moderator:
wenn du den Befehl gibst, dass er updaten soll, dann gleicht er die Daten ja mit denen von einem Server ab... Und wenn dieser Server veraltet ist, dann findet er keine Updates mehr, so war das glaube ich gemeint... ;)


skenic2003

PS: Es heißt "irgendwie".. ;)
 
Hi @ all,

nunächst, bei mir rennt: vserver, Apache2.xx , SuSE9.3 nun zum eigentlichen, hab versucht auf dieser Schachtel PHP5 als Apachemodul zu installieren, so wie hier im HowTo beschrieben. meine ./configure
Code:
./configure \ 
--prefix=/usr/local/php \ 
--with-config-file-path=/etc/apache2 \ 
--disable-debug \ 
--enable-bcmath \ 
--enable-calendar \ 
--enable-ctype \ 
--enable-discard-path \ 
--enable-exif \ 
--enable-filepro \ 
--enable-force-cgi-redirect \ 
--enable-fdf \ 
--enable-ftp \ 
--enable-gd-imgstrttf \ 
--enable-gd-native-ttf \ 
--enable-inline-optimization \ 
--enable-magic-quotes \ 
--enable-mbstr-enc-trans \ 
--enable-mbstring \ 
--enable-memory-limit \ 
--enable-ming \ 
--enable-safe-mode \ 
--enable-shmop \ 
--enable-sigchild \ 
--enable-soap \ 
--enable-sockets \ 
--enable-sysvmsg \ 
--enable-sysvsem \ 
--enable-sysvshm \ 
--enable-track-vars \ 
--enable-trans-sid \ 
--enable-wddx \ 
--enable-xslt \ 
--enable-yp \ 
--with-apxs2=/usr/local/apache2/bin/apxs \ 
--with-bz2 \ 
--with-curl=shared,/usr \ 
--with-dom=shared,/usr/lib \ 
--with-expat-dir=/usr \ 
--with-freetype-dir=shared,/usr \ 
--with-ftp \ 
--with-gd=/usr \ 
--with-gdbm \ 
--with-gettext \ 
--with-iconv-dir=/usr/local \ 
--with-jpeg-dir=shared,/usr \ 
--with-libxml-dir=/usr \ 
--with-mcal=shared,/usr \ 
--with-mcrypt \ 
--with-mhash=shared,/usr \ 
--with-mysql=/usr \ 
--with-mysqli=/usr/bin/mysql_config \ 
--with-openssl=/usr/local/ssl \ 
--with-pcre-regex=/usr/local \ 
--with-pear=/home/htdocs/pear \ 
--with-png-dir=shared,/usr \ 
--with-t1lib-dir=/usr \ 
--with-tidy=shared,/usr \ 
--with-tiff-dir=/usr \ 
--with-xsl=/usr \ 
--with-xml=shared \ 
--with-zlib=/usr \ 
--without-pgsql \ 
i586-suse-linux
läuft sauber durch und ein make , make install funzt auch mit folgendem Ergebniss

Code:
vs240072:/programme/php-5.1.2 # make install
Installing PHP SAPI module:       cgi
Installing PHP CGI into: /usr/local/bin/
Installing build environment:     /usr/local/lib/php/build/
Installing header files:          /usr/local/include/php/
Installing helper programs:       /usr/local/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/lib/php/
[PEAR] Archive_Tar    - installed: 1.3.1
[PEAR] Console_Getopt - installed: 1.2
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
[PEAR] PEAR           - installed: 1.4.6
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
Installing PDO headers:          /usr/local/include/php/ext/pdo/
Mein Problem ist das absolut keine libphp5.so kompiliert wird. Ich habe dann die apxs2 Dateien von meinem Rootserver nach /usr/sbin kopiert und ebenso nix mit lib5.so , danach hab ich via rpm -U das folgende File "apache-devel-1.3.28-60.i586.rpm" installiert und auch hier kein Erfolg. Wie zum Geier kann ich erreichen das mir mit einem make install eine libphp5.so kompiliert wird die ich dann als Modul einbinden kann?

bye
Sundriver
 
Also nach dem 'make' muss eine libphp5.so in
'.libs/libphp5.so'
und 'libs/libphp5.so'
sein.
Wenn dem nicht so ist, dann muss was schief gelaufen sein.
 
das habe ich auch gedacht, ist aber absolut nix zu finden. Habe zuerst wie bereits geschrieben die apxs2 Dateien vom rootserver rüberkopiert und als das nicht ging die o.g. rpm eingespielt... Nunja ich denke so langsam das irgendwo hier der Hund begraben liegt. Da der vserver eh nur zum "spielen" ist lade ich mir grad das letzte backup drauf und fange nochmal von vorn an. Es ist aber doch Richtig das ich die fehlenden apxs2 Files durch die installation von der "apache-devel-1.3.28-60.i586.rpm" erhalte,oder?

bye
Sundriver
 
Mit den RPM kenne ich mich nicht aus. Wenn etwas fehlt, wird das './configure' schon meckern.

Habe zuerst wie bereits geschrieben die apxs2 Dateien vom rootserver rüberkopiert
Man sollte auch nicht einfach so Sachen von anderen Servern 'rueberkopieren'. ;)


Uebrigens haben PHP 4.4.2 und 5.1.2 einen Bug, bei dem es (fuer locale User) moeglich ist, safe_mode On und open_basedir zu umgehen.
In php 5.1.3RC3 ist dieser Bug behoben.
 
sundriver said:
Es ist aber doch Richtig das ich die fehlenden apxs2 Files durch die installation von der "apache-devel-1.3.28-60.i586.rpm" erhalte,oder?
Ja.
/edit: Nein, Du hast doch Apache 2. Also brauchst Du ein apache-devel-2.x....rpm.

Guin said:
Uebrigens haben PHP 4.4.2 und 5.1.2 einen Bug, bei dem es (fuer locale User) moeglich ist, safe_mode On und open_basedir zu umgehen.
Und alle anderen älteren Versionen auch.
Die neueste Version ist aber bisher nur im CVS erhältlich.

huschi.
 
Last edited by a moderator:
o.k. hat bestens Funktioniert, es lag tatsächlich am Apache Development Paket das die apxs2 Routine nicht funktioniert hat, es war für einen Apache 1.xx hab das entsprechende rpm von der installierten Apache Version eingespielt und die fehlenden Bibliotheken von MySql 4.10a und schon war der Käs gegessen :)

bye
Sundriver
 
Status
Not open for further replies.
Back
Top