PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP-Update?



BLUESCREEN3D
08.11.02, 21:59
Ich habe seit kurzem Red Hat 8.0 auf meinem Server laufen und Apache 2.0.40 und PHP 4.2.2 waren mit dabei (vorher hatte ich SuSE 7.3 und Apache 1.irgendwas und wohl auch eine ältere PHP-Version). Seitdem gehen aber einige Funktionen nicht mehr, z.B. geht getenv("REMOTE_ADDR"); nicht mehr, dafür aber $_SERVER["HTTP_USER_AGENT"]; (ging vorher nicht). Ich habe auf php.net zwar was über so einen Bug gelesen und mit Google gesucht, aber der sollte bei meiner Version nicht mehr vorhanden sein

Hat irgendjemand ähnliche Probleme oder Erfahrungen mit PHP 4.3.0pre2 oder 4.2.3? Dabei vor allem mit der Installation? Ich müsste es ja selbst kompilieren und da habe ich immer irgendwelche Fehler und es geht danach weniger als vorher da ich noch nicht so lange Linux benutze...

MichlS
08.11.02, 22:13
bei mir hat sich bei der installation der php ver. 4.2.3 das php.ini file nicht angelegt!!
erst nachdem ich das php.ini-dist nach /usr/local/lib/php.ini
kopiert habe hat php funktioniert .. wenn du 4.2.3 installierst änder in der php.ini
folgende zeile von

register_globals = Off
register_argc_argv = Off

auf

register_globals = On
register_argc_argv = On

dann werden GET und POST irgendwas wieder richtig übernommen .. keine ahnung wie man da genau dazu sagt ..

diese 2 zeilen waren bei mir verantwortlich das webmail, mein forum, meine adress DB und mein gästebuch nicht funktioniert haben!

greez mike

BLUESCREEN3D
08.11.02, 22:24
thx für den präzisen Tipp! :D

kann sein, dass es bei mir auch daran liegt, dass die Werte bei der Standardeinstellung auf "Off" stehen...

Was ich noch wissen wollte: Nach dem Suchergebnis von rpmfind.net gibt es für Red Hat 8.0 keine RPM einer Version die neuer ist als 4.2.2 - also muss ich wohl die PHP 4.2.3 (tar.bz2) von php.net nehmen - da muss ich aber selbst kompilieren, oder?
Falls ja, hat damit schon jemand Erfahrungen gemacht? Muss ich Apache dann auch neu kompilieren, weil PHP ja irgendwie darein integriert ist, oder wird einfach das PHP-Modul geändert und Apache akzeptiert das einfach?
Die datei /usr/local/lib/php.ini gibt es bei mir auch nicht - wenn ich mir meine Version runterlade und daraus die php.ini nehme, kann ich dann einfach die Werte auf "On" setzen und es geht, oder muss ich PHP neu kompilieren?

Ich hab irgendwie oft Probleme beim selbst kompilieren... :D

BLUESCREEN3D
08.11.02, 22:35
Einfach die php.ini von 4.2.2 nehmen, die Werte auf "On" setzen und reboot hat nichts gebracht - muss ich PHP vieleicht noch irgendwie klar machen, dass es da jetzt eine php.ini gibt?

BLUESCREEN3D
08.11.02, 23:01
$_SERVER["REMOTE_ADDR"]; funzt aber getenv("REMOTE_ADDR"); nicht

MichlS
09.11.02, 08:15
also die php.ini-dist musst im tar.gz file haben die kugelt einfach da drin herum und macht nichts bis sie ins /usr/local/lib/ kopiert wird ..

mit dieser zeile habe ich mein php dazu überredet mit dem indianer zu funktionieren
./configure --with-mysql --with-apxs

nachher musst noch die mime typen einstellen also php php3 php4
das machst im file httpd.conf
und sollte in etwa so ausschaun

application/x-httpd-php phtml pht php php3 php4

also nachdem die php.ini dort ist wo sie hinghört und die mimetypen richtig sind
müsste es funktionieren .. zum testen nimmst diese eine zeile und speicherst sie als
test.php in deinem webdoc verz. ab.

<?php phpinfo(); ?>

wennst die test.php dann ansurfst musst einige infos betreffend deiner php installation sehen ... unteranderm auch diese zeilen hier

register_argc_argv On On
register_globals On On

dann sollte alles funktionieren

greez mike

BLUESCREEN3D
09.11.02, 14:00
im Moment ist register_globals auf "Off", also muss ich PHP wohl neu kompilieren und dann werde ich gleich die aktuellere Version 4.2.3 nehmen

BLUESCREEN3D
09.11.02, 17:47
Ich habe mir PHP 4.2.3 runtergeladen und bei "./configure --with-mysql --with-apxs" erhalte ich den Fehler, dass das apxs-Script nicht gefunden wurde - nach der Datei "INSTALL" soll ich jetzt "--with-apxs=/path/to/apxs" nehmen, aber wenn ich mit "locate apxs" suche wird nur eine HTML-Datei gefunden und die ist bestimmt nicht gemeint.
Könnte das daran liegen, dass ich Apache 2.0.40 habe und nicht 1.3x?
phpinfo() zeigt das an: "--with-apxs2=/usr/sbin/apxs" aber die Datei gibt es nicht :confused:

BLUESCREEN3D
09.11.02, 18:49
ich habe mir mal Apache 2.0.43 runtergeladen und da ist eine Datei bei die "apxs.in" heisst - ist das die richtige? Wenn ja muss ich Apache auch kompilieren neu installieren damit das mit PHP geht???

MichlS
10.11.02, 09:33
hmm kann ich dir ehrlich gesagt nicht beantworten, bei meiner suse 7.0 war das script dabei und ich verwende eine ältere indianer version als du ..

ja das register_globals muss auf on stellen dann wirst keine troubles haben

greez mike

ps: versuch mal das --with-apxs wegzulassen .. spricht was dagegen ? (schau dir vorher andere meinungen an!!!)

BLUESCREEN3D
10.11.02, 13:23
ähm... ich glaube nicht, dass das so gut ist... dann wird AFAIK das ganze nicht in Apache eingebunden...
Ich werde jetzt einfach mal die aktuellste Apache-Version installieren und hoffen, dass das Script dann da ist

BLUESCREEN3D
10.11.02, 13:53
Ich bin kurz davor hier irgendwas zu formattieren, weil ich nicht drauf gekommen bin: Ich habe Red Hat und da sind die Config-Dateien etwas geordneter als bei SuSE und deshalb bringt es NULL wenn ich die php.ini nach /usr/local/lib packe... :ugly:
Mir ist gerade, als ich ein bisschen in der Ausgabe von phpinfo() gelesen habe, aufgefallen, dass meine php.ini natürlich unter /etc liegt - ich habe register_globals auf "On" gestellt und jetzt funzt wenigstens meine Passworteingabe wieder - aber getenv("REMOTE_ADDR"); weigert sich immer noch...
Hat wer ne Idee woran das liegen könnte?

linuxerhh
10.11.02, 16:00
um das apxs skript zu bekommen damit du ./configure --with-apxs=/pfad/to/apxs machen kannst brauchst du glaube ich das apache devel ( ist bei suse ) so , schau doch mal ob deine distri ein apache devel hat und installiere es , ausserdem brauchst du noch bison.rpm und flex.rpm damit du php neu kompilieren kannst.

hoffe das hilft ein wenig weiter :-)

greetings der hamburger

BLUESCREEN3D
10.11.02, 16:41
ich habe die httpd-devel-2.0.40-8.i386.rpm installiert (bison und flex waren schon drauf) und jetzt ist unter /usr/sbin ein Perl-Script "apxs" - das ist es wohl

BLUESCREEN3D
10.11.02, 16:43
Noch ne Frage: phpinfo() zeigt in der dritten Zeile bei "Configure Command" folgendes an:

'./configure' '--host=i686-pc-linux-gnu' '--build=i686-pc-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--prefix=/usr' '--with-config-file-path=/etc' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db3' '--with-curl' '--with-dom=/usr' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-ttf' '--with-gdbm' '--with-gettext' '--with-ncurses' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-regex=system' '--with-xml' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--without-oci8' '--with-pear=/usr/share/pear' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos=/usr/kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-unixODBC=shared' '--enable-memory-limit' '--enable-bcmath' '--enable-shmop' '--enable-versioning' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mcal' '--with-apxs2=/usr/sbin/apxs'

ist es besser, das so zu übernehmen, oder soll ich PHP mit dem Standard-Befehl "./configure --with-mysql --with-apxs" installieren???

BLUESCREEN3D
11.11.02, 16:29
Hat keiner Ahnung davon?