PHP 4.3.9 kompilieren

Apache, Lighttpd, nginx, Cherokee
Post Reply
marquinhos
Posts: 53
Joined: 2004-01-12 17:55
Location: Fellbach
 

PHP 4.3.9 kompilieren

Post by marquinhos »

Hallo Ihr,

leider klappt es nicht, dass ich PHP 4.3.9 auf meinem 1und1-Rootserver installiere.

1und1 Rootserver mit Suse 9.1., Apache2 und PHP 4.3.4

Kann mir jemand sagen, wie ich am besten vorgehe?

Problem:

Das Kompilieren mit folgendem Code läuft nicht durch.

Code: Select all

./configure --prefix=/usr/share --datadir=/usr/share/php --bindir=/usr/bin --libdir=/usr/share --includedir=/usr/include --with-_lib=lib --with-config-file-path=/etc --with-exec-dir=/usr/lib/php/bin --disable-debug --enable-bcmath --enable-calendar --enable-ctype --enable-dbase --enable-discard-path --enable-exif --enable-filepro --enable-force-cgi-redirect --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-safe-mode --enable-shmop --enable-sigchild --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-trans-sid --enable-versioning --enable-wddx --with-bz2 --with-dom=/usr/include/libxml2 --with-ftp --with-gdbm --with-gettext --with-gmp --with-imap --with-jpeg-dir=/usr --with-ldap --with-mcal=/usr --with-mcrypt --enable-yp --with-mysql=/usr --with-ndbm --with-pgsql=/usr --with-png-dir=/usr --with-snmp --with-t1lib --with-tiff-dir=/usr --with-ttf --with-freetype-dir --with-xml --with-swf=/usr/include/swf --with-zlib --with-gd --with-openssl --with-curl --with-imap-ssl --with-mm --with-apxs2=/usr/sbin/apxs2 i586-suse-linux
Leider habe ich keine Anleitung im Forum zum neuen 1und1 Server mit Suse 9.1. und Apache 2 gefunden.

Habe schon mal unter
http://www.rootforum.org/forum/viewtopi ... 163#207163
gefragt, aber ich denke, da lohnt sich ein neues Thread.

Mit einem alten Server (Suse 8.1. und Apache 1.3.XX) hat es mit der Beschreibung unter
http://www.rootforum.org/forum/viewtopic.php?t=10222
super geklappt.

Danke.
chris76
Posts: 1878
Joined: 2003-06-27 14:37
Location: Germering
 

Re: PHP 4.3.9 kompilieren

Post by chris76 »

marquinhos wrote: Das Kompilieren mit folgendem Code läuft nicht durch.
Definiere läuft nicht durch
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error
souldrinker
Posts: 32
Joined: 2004-11-30 13:22
 

Re: PHP 4.3.9 kompilieren

Post by souldrinker »

Du solltest auf jedenfall als allererstes schauen, ob das Paket "httpd-devel" installiert ist, damit unter "/usr/sbin" auch eine Datei namens "apxs2" restriktive "apxs" liegt.

Ansonsten schließe ich mich meinem Vorredner an, poste doch mitte mal die letzten 20 bis 30 Zeilen von dem was Dir configure bzw. make zurückgibt, je nachdem wo der Fehler auftaucht.

Zusatz:
Hatte ganz verdrängt, dass wir auch einen root-server bei 1&1 stehen haben, ich glaube sogar den neuen, mit der Konfi wie Du sie beschreibst. Versuche mal folgendes configure für Dein php 4.3.9 einzusetzen:

Code: Select all

./configure --prefix=/usr 
--datadir=/usr/share/php 
--mandir=/usr/share/man 
--bindir=/usr/bin 
--libdir=/usr/share 
--includedir=/usr/include 
--sysconfdir=/etc 
--with-_lib=lib 
--with-config-file-path=/etc 
--with-exec-dir=/usr/lib/php/bin 
--disable-debug 
--enable-inline-optimization 
--enable-memory-limit 
--enable-magic-quotes 
--enable-safe-mode 
--enable-sigchild 
--disable-ctype 
--disable-session 
--with-mysql 
--with-gd 
--disable-cli 
--without-pear 
--with-openssl 
--with-apxs2=/usr/sbin/apxs2 
Wichtig ist meines Wissens nach auch, dass Du openssl-devel installiert hast.

Wenn das durchgelaufen ist, machst Du ein "make", und dann "libtool --finish libs".

Jetzt sicherst Du folgende Datei irgendwohin:
./usr/lib/apache2-prefork/libphp4.so

Und dann folgt das böse "make install" und ein apache neustart. Wenns funktioniert hat, freu dich, wenn nicht, kopier die gesicherte Datei zurück und beschreibe den Fehler.
marquinhos
Posts: 53
Joined: 2004-01-12 17:55
Location: Fellbach
 

Re: PHP 4.3.9 kompilieren

Post by marquinhos »

Als aller erstes: Es klappt, aber nicht ganz. Beim File-Upload folgt nach dem Upload eine leere Seite. Genauer kann ich es derzeit nicht beschreiben.

Aber unten noch ein paar allg. Fragen !!! Danke.

Wo fange ich an?

OK !

@chris76: Habe oben auch den config.log ausgegeben. Link zu http://www.rootforum.org/forum/viewtopi ... 163#207163

@Souldrinker:

Herzlichen Dank für die Unterstützung. Hat schon mal heftig geholfen.

1. Wenn ich --disable-session drin lassen, wird keine Session geschrieben. Ich arbeite viel mit Session. Allerdings ist komisch, dass die derzeitige PHP 4.3.4 Version anscheinend auch mit --disable-session kompiliert wurden.

Hier der Config- Block der PHP 4.3.4 Version - welche läuft:

Code: Select all

./configure --prefix=/usr --datadir=/usr/share/php --mandir=/usr/share/man --bindir=/usr/bin --libdir=/usr/share --includedir=/usr/include --sysconfdir=/etc --with-_lib=lib --with-config-file-path=/etc --with-exec-dir=/usr/lib/php/bin --disable-debug --enable-inline-optimization --enable-memory-limit --enable-magic-quotes --enable-safe-mode --enable-sigchild --disable-ctype --disable-session --without-mysql --disable-cli --without-pear --with-openssl --with-apxs2=/usr/sbin/apxs2-prefork
2. Wenn ich dich richtig verstanden haben, muss man also nur die libphp4.so Datei in den entsprechenden Ordner kopieren und die php.ini Datei anpassen.

D.h. man kann auch ohne make install PHP zum Laufen bekommen. Oder?

3. Die derzeitige libphp4.so hat ca. 1,2 MB, aber die libphp4.so aus PHP 4.3.9 hat über 4 MB, warum ??? Die libphp4.so auf einem anderen Server hat gar 10 MB (aber auch sehr viel mehr Config-Attribute).

4. Beim make install wirde die libphp4.so-Datei nicht in den Ordner
./usr/lib/apache2-prefork/libphp4.so kopiert!

Der Code aus make install:

Code: Select all

p99999999:~/php-4.3.9 # make install
Installing PHP SAPI module:       apache2handler
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/apache2/build/libtool
' libphp4.la /usr/lib/apache2
/usr/share/apache2/build/libtool --mode=install cp libphp4.la /usr/lib/apache2/
cp .libs/libphp4.so /usr/lib/apache2/libphp4.so
cp .libs/libphp4.lai /usr/lib/apache2/libphp4.la
libtool: install: warning: remember to run `libtool --finish /root/php-4.3.9/lib
s'
chmod 755 /usr/lib/apache2/libphp4.so
[activating module `php4' in /etc/apache2/httpd2-prefork.conf]
Installing build environment:     /usr/lib/php/build/
Installing header files:          /usr/include/php/
Installing helper programs:       /usr/bin/
  program: phpize
  program: php-config
  program: phpextdist
Dies sollte doch eigentlich so sein, oder?

Danke !!!
souldrinker
Posts: 32
Joined: 2004-11-30 13:22
 

Re: PHP 4.3.9 kompilieren

Post by souldrinker »

Das sieht soweit OK aus... starte mal Deinen apache neu, und leg irgendwo ein php skript ab, dass ein phpinfo(); macht, und schau nach der Version. Es kommt immer auf die Apache-Installation an, wo- und wie die Module (.so) abgelegt werden.
marquinhos
Posts: 53
Joined: 2004-01-12 17:55
Location: Fellbach
 

Re: PHP 4.3.9 kompilieren

Post by marquinhos »

Also jetzt habe ich den Upload nochmals mit 4.3.9 probiert und er schmiert nur bei der Bildverkleinerung ab.

Bei der PHP 4.3.4 Version ist JPG in der GD drin, obwohl es nicht im config-Block steht

Bei PHP 4.3.9 steht JPG nicht im GD Block. Darum klappt auch die Bildverkleinerung nicht.

Was muss ich jetzt beim Kompilieren noch angeben, damit JPG bei PHP 4.3.9 auch mit GD unterstützt wird.

PHP 4.3.4 - aus phpinfo():

gd
GD Support enabled
GD Version bundled (2.0.15 compatible)
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

PHP 4.3.9 - aus phpinfo(): (aktueller Stand)

gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
GIF Read Support enabled
GIF Create Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Was tun ?
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: PHP 4.3.9 kompilieren

Post by andreask2 »

marquinhos wrote:Was muss ich jetzt beim Kompilieren noch angeben, damit JPG bei PHP 4.3.9 auch mit GD unterstützt wird.

Was tun ?
Manual lesen: http://de3.php.net/manual/en/ref.image. ... stallation
marquinhos
Posts: 53
Joined: 2004-01-12 17:55
Location: Fellbach
 

Re: PHP 4.3.9 kompilieren

Post by marquinhos »

@alle

So, jetzt an alle herzlichen Dank.

Habe es jetzt geschaft und das Tagesziel erreicht ;-)

1und1 Rootserver, Suse 9.1.
Apache2
(Powerseller Stand 09-2004)

Update auf 4.3.9 (da GIF Unterstützung)

# *** PHP 4.3.9 ***
#Download
wget http://de3.php.net/get/php-4.3.9.tar.gz ... net/mirror

#entpacken
tar xfvz php-4.3.9.tar.gz

#verzeichnis wechsel
cd php-4.3.9

#Kompilieren mit

Code: Select all

./configure --prefix=/usr --datadir=/usr/share/php --mandir=/usr/share/man --bindir=/usr/bin --libdir=/usr/share --includedir=/usr/include --sysconfdir=/etc --with-_lib=lib --with-config-file-path=/etc --with-exec-dir=/usr/lib/php/bin --disable-debug --enable-inline-optimization --enable-memory-limit --enable-magic-quotes --enable-safe-mode --enable-sigchild --disable-ctype  --with-jpeg-dir=/usr --with-mysql --with-zlib --with-gd --with-mcrypt --disable-cli --without-pear --with-openssl --with-apxs2=/usr/sbin/apxs2 
make

libtool --finish libs

make install
Legt die Datei libphp4.so leider nicht ins richtige Verzeichnis

Vorab vielleicht die alte Datei libphp4.so (/usr/lib/apache2-prefork/) sichern !!!!

Deshalb im Ordner

/root/php-4.3.9/libs/ (oder entsprechenden Ordner)

die Datei libphp4.so holen und in den Ordner

/usr/lib/apache2-prefork/

kopieren.

php.ini-dist

#In der zeile 355 'register_globals = Off' auf 'register_globals = On' ändern

F2 (Save)
F10 (Quit)

#Backup der php.ini

cp /etc/php.ini /etc/php_434.ini

#kopieren der php.ini-dist

cp php.ini-dist /etc/php.ini

#apache2 neu Starten

rcapache2 restart

Ohne Garantie. Bei mir läuft es !
Anonymous
 

Re: PHP 4.3.9 kompilieren

Post by Anonymous »

Hallo,

vielen Dank für die Anleitung. Ich habe meinen frisch reinitalisierten Server so endlich auf php 4.39 gebracht.

Es fehlt folgendes um den "frischen" Server zu updaten:

Per YAST

FLEX
ZLIB-DEVEL
LIBPNG-DEVEL
LIBMCRYPT-DEVEL

nachinstallieren.

Und evtl. aus Sicherheitsgründen in der php-ini.dist das ALLOW_URL_FOPEN auf Off setzen.


mfg

Stefan
marquinhos
Posts: 53
Joined: 2004-01-12 17:55
Location: Fellbach
 

Re: PHP 4.3.9 kompilieren

Post by marquinhos »

Gute Ergänzung.

Auch deshalb habe ich den Thread eröffnet !

Danach hatte ich nochn folgendes Problem.

http://www.rootforum.org/forum/viewtopic.php?t=31576
Nach dem Update ging aber alles glatt. Musste dann aber nochmals die PHP-SO-Datei frisch kopieren.

Gruss

Markus
Anonymous
 

Re: PHP 4.3.9 kompilieren

Post by Anonymous »

Ich hab das jetzt mal so gemacht wie beschrieben, aber leider bekomme ich folgenden Fehler:

creating cache ./config.cache
checking host 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 if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking for re2c... exit 0;
checking for ranlib... ranlib
checking whether ln -s works... yes
checking for mawk... no
checking for gawk... gawk
checking for bison... no
checking for byacc... no
configure: warning: You will need bison if you want to regenerate the PHP parsers.
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 2425: lex: command not found
configure: error: cannot find output from lex; giving up

Weiss jemand weiter?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: PHP 4.3.9 kompilieren

Post by captaincrunch »

Dir fehlt das (f)lex-Paket.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Post Reply