PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SuSE 8.0: Apache + PHP



Guru
27.06.02, 12:02
Irgendwas stimmt mit dem PHP-Modul bei SuSE Linux 8.0 nicht.
Sobald ich dieses aktiviere, kann ich den Apache-Webserver nicht mehr starten !

In der Log-Datei kann ich dann folgendes lesen:

PHP Fatal error:Unable to start session mm module in Unknown on line 0

Ist dieses Problem bekannt und wie kann ich es beheben ? Es ist recht dringend ! :)

Guru

Kapitaen
27.06.02, 16:00
ich hatte mal ein ähnliches Problem - dann habe ich gemerkt dass ich dass PHP-Modul nicht sauber installiert. Nach einer erneuten installation von PHP kam der Apache wieder hoch.

Guru
27.06.02, 16:04
ne, das habe ich auch schon mehrfach versucht ... hat nix gebracht !

Guru

pitu
27.06.02, 17:00
Benutz mal die Suchfunktion.

pitu

Guru
27.06.02, 18:01
habe ich ja schon und wurde dabei auch auf die gleichen Probleme aufmerksam, doch leider habe ich keine Lösung gefunden :(

Guru

zagadka
27.06.02, 18:45
Moin, das Problem liegt wie üblich nicht am User, sondern an den SuSE-Idoten (anders kann man die schon nicht mehr benennen, nach dem Schrott 8.0).
Wo SuSE 8.0 sein Unwesen treibt ist auch mit sauber installieren nichts mehr zu retten - das ist mehr eine Art Lotterie!

Bei SuSE 8.0 und in Teilen auch davor findet ein Teil der Konfiguration in dem Ordner /etc/sysconfig vonstatten. Für Dein spezielles Problem sieh Dir dort erstmal die Datei apache an und editiere die für Dich wichtigen Module auf entsprechende Werte (yes). Die müssen natürlich installiert sein, was man yast2 gerade noch erledigen kann ...

# /etc/sysconfig/apache
....
# enable the PHP module (yes|no)
#
HTTPD_SEC_MOD_PHP=yes
# ...
# do you want to allow access to UserDirs (like /home/*/public_html)? (yes|no)
# if yes, this is defined in /etc/httpd/suse_public_html.conf
# SuSE Idioten!!!!
HTTPD_SEC_PUBLIC_HTML=no
...
# enable the SSL module (yes|no)
HTTPD_SEC_MOD_SSL=yes

usw.

In der /etc/httpd/httpd.conf bzw. /etc/httpd/suse_loadmodule.conf muss es ein LoadModule für das jeweilige Modul geben (toll ausgelagert, diese Versager!)

# /etc/httpd/suse_loadmodule.conf

LoadModule perl_module /usr/lib/apache/libperl.so
LoadModule php4_module /usr/lib/apache/libphp4.so
LoadModule ssl_module /usr/lib/apache/libssl.so

weiter gehts mit der

#/etc/suse_addmodule.conf

AddModule mod_perl.c
AddModule mod_php4.c
AddModule mod_ssl.c


Dann den Apache restarten, es sollte jetzt funktionieren, was nicht bedeutet, dass das Modul auch beim starten angezeigt wird (php4, ssl ..)!!!! Dazu falls gewünscht die /etc/httpd/suse_text.conf editieren (ein riesen Haufen Lamer waren am Werk!)

zagadka@acf > rcapache restart
Shutting down httpd done
Starting httpd [ PERL PHP4 SSL ] done
zagadka@acf >

Jetzt sollte es eigentlich funktionieren. Unter
empty liegt eine funktionierende Konfiguration (/etc/httpd Ordner) - zur Not, diese Konf probieren.

Nur gut, das man bei Linux die Wahl hat (Debian)!!!!

zagadka

Guru
27.06.02, 18:59
erstmal vielen vielen Dank für deine ausführliche Erklärung !!!

Leider hat mich das nicht wirklich weitergebracht :(

All die Einstellungen, die du mir genannt hast, waren in meinen Configs schon drin und somit konnte ich nix verändern/hinzufügen ...

Der Apache läuft also weiterhin nicht...

Guru

Guru
27.06.02, 19:24
könnte mir vielleicht jemand die absolut jungfräuliche httpd.conf schicken, weil ich jetzt nur noch die von zagadka habe :(

Danke

Guru

zagadka
27.06.02, 21:08
Wenn Du die SuSE CDs bzw DVD hast kannst Du mit yast2 (fast bedenkenlos) den Apache reinstalliern oder einfach deinstallieren und dann neu installiern.
Vorher solltest Du den Ordner /etc/httpd umbenennen in z.B. httpdx
Dann die Installiererei wie oben beschrieben, es wird ein neuer httpd Ordner erstellt mit hoffentlich allen Dateien.
(Backup erstellen!)
zagadka@acf > cd /etc
zagadka@acf > tar czf httpd_org.tar.gz httpd

Jetzt kannst Du in Ruhe den neuen /etc/httpd umbenennen (httpd_org), benennst httpdx (s.o) in httpd um und kopierst aus httpd_org die jungfräuliche Datei rein.

Gruss

zagadka

Guru
27.06.02, 21:15
ja, danke ... bin ich dann auch drauf gekommen ...

dennoch stehe ich noch vor meinem Problem ... :(

Guru

Guru
27.06.02, 21:54
@zagadka läuft denn bei dir der Apache + PHP-Modul unter SuSE Linux 8.0 ???

Guru

pitu
27.06.02, 23:48
Original geschrieben von zagadka

Moin, das Problem liegt wie üblich nicht am User, sondern an den SuSE-Idoten (anders kann man die schon nicht mehr benennen, nach dem Schrott 8.0).
Wo SuSE 8.0 sein Unwesen treibt ist auch mit sauber installieren nichts mehr zu retten - das ist mehr eine Art Lotterie!


quatschkopf, anderrs kann ich dich nach deinem Ton eh nicht mehr nennen.

Das Problem liegt in PHP, dass meinte ich mit der Suchfunktion, sogar die ach so tolle Debian hat das Problem.
Lies doch mal die Newsgroups.
Die sache mit dem mm module taucht immer wieder auf.



Bei SuSE 8.0 und in Teilen auch davor findet ein Teil der Konfiguration in dem Ordner /etc/sysconfig vonstatten. Für Dein spezielles Problem sieh Dir dort erstmal die Datei apache an und editiere die für Dich wichtigen Module auf entsprechende Werte (yes). Die müssen natürlich installiert sein, was man yast2 gerade noch erledigen kann ...


Natuerlich liegen sie in sysconfig, schliesslich hat das RedHat ja bei der LSB durchgeboxed und jetzt halten sie sich eben dran.



In der /etc/httpd/httpd.conf bzw. /etc/httpd/suse_loadmodule.conf muss es ein LoadModule für das jeweilige Modul geben (toll ausgelagert, diese Versager!)

Mach halt ne bessere und uebersichtlichere Loesung.



Dann den Apache restarten, es sollte jetzt funktionieren, was nicht bedeutet, dass das Modul auch beim starten angezeigt wird (php4, ssl ..)!!!! Dazu falls gewünscht die /etc/httpd/suse_text.conf editieren (ein riesen Haufen Lamer waren am Werk!)

Und du bist besser, oder?



Jetzt sollte es eigentlich funktionieren. Unter
http://wissinger.linux-dude.net/files/httpd_suse80.tar.gz liegt eine funktionierende Konfiguration (/etc/httpd Ordner) - zur Not, diese Konf probieren.


Ah, schoen, warum hast du da nicht in kurzen sachlichen Worten darauf hingewiesen?



Nur gut, das man bei Linux die Wahl hat (Debian)!!!!


Wie schoen, dass Linuxer immer untereinander ein friedliches Voelkchen sind, warum trollst du dich eigentlich nicht, und wie schon oben erwaehnt, Debian hatte das Problem auch schon.
Der Fehler ist uebrigens auch in der RedHat 7.3 beobachtet worden.

Die aelteste Meldung zum irgendeinem Fehler im mm-modul habe ich uebrigens irgendwann 1999 gefunden das Ding scheint immer mal wieder Probleme machen, aber hauptschace rumtrollen.

pitu

Guru
28.06.02, 00:12
super !!!

doch all das hat mich kein Stück weitergebracht !!!

Guru

pitu
28.06.02, 00:22
Ich werde mich morgen mal erkundigen, dann werd ich hoffentlich mehr wissen.

pitu

pitu
28.06.02, 13:22
Wird leider erst Monatg werden ....

pitu

Guru
01.07.02, 09:41
kann mir denn (sonst) keiner helfen ???

Ich brauche den Apache mit PHP wirklich dringend ... das muss doch irgendwie zu schaffen sein ...

Guru

pitu
03.07.02, 07:35
Hi Guru, leider hab ich es am montag zu spaet erfahren, und gestern, war aj Linuxforen anscheinend down.

Also, du hast deine Version vom ftp-Server. Laut meinen Informationen hat SuSE bisher davon nix gewusst. Wie auch, ftp-Versionan haben schliesslich keinen Support ;)

Das Problem ist also tatsaechlich soetwas wie ein Bug, nicht in PHP sondern im mm-Modul. Nur ein kleiner, aber ein ziemlicher Mist. Und zwar holt sich das mm-Modul zur COMPILEzeit seine Informationen darueber, wieviel Momory es sich krallen darf. Nicht zur Laufzeit. Frueher war das Maximum 32 MB. heute liegt es bei 64 MB.

Das Modul holt sich die Infos, wieviel es verwenden darf also zur Compile-Zeit aus dem Kernel:
/proc/sys/kernel/shmmax
Ich hab z.B. auch 32 MB drinstehen.

So, PHP ist nun mit mm-modul support compiliert worden und hat den Wert des Rechners bei SuSE drinstehen. Die Kiste war wohl etwas groesser, weswegen mm mit 64 MB angegeben ist. PHP, anstatt seinen eigene Version zu verwenden verlaesst sich nun auf das MM-Modul und sagt mm-modul, "gib mir soviel wie ich kriegen kann". Und das mm-modul sagt dan "64 MB" worauf hin php versucht 64 MB zu kriegen, der Kernel aber nur 32 MB erlaubt.

Und bumms.

Nun, dass dieses Paket auf dem ftp-Server liegt war ein Versehen und bisher wussten sie darueber noch nix. Denn in der Version die auf CD ausgeliefert wurde, war dieser Fehler behoben, indem das mm-module mit dem System default von 32 compiliert wurde.
Damit dies geht musste es uebrigens hard eincompiliert werden. Im chanchlog zum mm-Paket solltest du mehr finden.

Also, mm-modul updaten, dann sollte es gehen. Wenn du allerdings eine Maschiene hast, die soviel Speicher hat, dass du einen hoeheren shmax-Wert vertragen kannst, dann kannst du auch folgendes machen:

echo $((64*1024*1024)) >/proc/sys/kernel/shmmax

Also, entweder dies, oder das Paket vom ftp-Server updaten. seit gestern ist das Paket uebrigens auf dem ftp-server:
ftp://ftp.suse.com/pub/people/poeml/8.0/mm-1.1.3-278.i386.rpm

So, hier war nix mit kaputter konfig etc von SuSE und mit tollem rumgerede hat man es loesen koennen. Hier hat einfach das mm-Modul einen Fehler und ein Update mit einem workaround liegt auf dem ftp-Server.

pitu