• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

php session Problem (9.2), SquirrelMail needs session?

ForFree

Newbie
Hi,

ich habe SuSE 9.2 und nach einem Update von 9.1 folgendes Problem mit php unter Apache2 :

Webseiten, die eine PHP-Session benutzen, können diese offensichtlich nicht richtig initialisieren. Das zeigt sich z.B. beim Aufruf von Squirrelmail in folgender Fehlermeldung :
Fatal error: Call to undefined function: session_id() in /srv/www/htdocs/squirrelmail/functions/global.php on line 293

laut Squirrelmail-Wiki bedeutet dies :
* Fatal error: Call to undefined function session_id() in /var/www/localhost/htdocs/squirrelmail/functions/global.php on line 293

SquirrelMail needs session and pcre support in php.
Rebuild PHP with --enable-session.
In Gentoo set flag session

Das ist aber alles bei mir installiert und yast prüft ja auch die Abhängigkeit.
Ich habe Apache/PHP/Squirrelmail auch schon komplett deinstalliert und wieder installiert. Gleiches Problem ...

Beim Übergang von 9.0 auf 9.1 gab es das Problem bei mehreren Usern. Damals hat ein Update von SuSE geholfen. Bisher gibt es aber weder ein Update, noch habe ich "Leidensgenossen" gefunden.

Ich denke, daß in irgendeiner Konfiguration die Information fehlt, daß in PHP "session" installiert ist.
Gibt es da irgendetwas außer php.ini und Apache-conf's ?

Wäre für einen Hinweis sehr dankbar; möchte nämlich meine Mails unterwegs wieder lesen können...

Vielen Dank
ForFree

P.S. habe mehrere Squirrelmail-Versionen getestet; ist in allen das Gleiche. Außerdem habe ich auch Hastymail probiert. Die Meldung da klingt zwar anders, beschreibt aber wohl das gleiche Problem
 

oc2pus

Ultimate Guru
<html>
<head></head>
<body>
<?php
phpinfo();
?>
</body>
</html>
das als index.php in deiner Dokumentroot abspeichern und aufrufen via Browser.

wenn du dann siehst:
Configure Command './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' 'i586-suse-linux'

"--disable-session" ==>
dann ist dein Session-Support disabled :)
und du musst dir dein php selber compilieren....
 
OP
F

ForFree

Newbie
Jep, die Ausgabe ist dann wohl wie befürchtet :
"'--disable-session'"

Ich brauche also nicht weiter an mir zu zweifeln !

Warum ändern die die Einstellung nur ?

Ok, das wird niemand beantworten können.
Jedenfalls vielen Dank für die Hilfe !!!

ForFree
 

oc2pus

Ultimate Guru
1.) du musst das modul php4-sessions installieren.
2.) cd /usr/lib/php/extensions/
3.) ls -1 |sed 's/^/extension=/'
und die Liste aller dieser Module in die /etc/php.ini in die Sektion
[extension section]
extension=session.so
extension=bcmath.so
extension=bz2.so
extension=calendar.so
....
eintragen

dann klappt es :)
 
OP
F

ForFree

Newbie
Hallo oc2pus,

ich habe jetzt php aus der 9.2 deinstalliert, die 9.1-DVD gemountet und das alte php von der 9.1 installiert.
Damit geht alles. Und das obwohl die php-info auch "'--disable-session'" liefert !
Habe das nicht ganz verstanden. Es ist aber wahrscheinlich ein Hinweis darauf, daß etwas anderes nicht stimmt.
Also werde das nochmal checken.

Vielen Dank !

ForFree
 

oc2pus

Ultimate Guru
SuSE hat das php modularisiert. Man braucht das RPM php4-sessions um mit sessions arbeiten zu können.

mit php -m kann man dann prüfen ob der session-support vorhanden ist.

Das Problem resultiert aus der falschen php.ini, die wird immer "kaputtgeschrieben" bei einem update :(
 
OP
F

ForFree

Newbie
Na, dann sollte ich ja jetzt eine php.ini haben, die funktioniert. Also werde ich die mal retten.
Dann versuche ich nochmal die aktuellen php-Pakete aus der 9.2 zu installieren; und checke die php.ini ...
 
Oben