Probleme mit Sessions

Manfred R.

New Member
Hallo Community,

ich hatte vor auf meinem PC mir endlich nen Server zur Programmierung und Entwicklung zu installieren, so eine reine Testmaschine eben.
Auf dem PC läuft ein opensuse 10.2.

Mein Problem besteht nun darin, das auf dem Server keine Sessions für PHP funktionieren. Erkennen kann ich dass daran, das 1. im verzeichnis /tmp keine sess_* files liegen, und wenn, dann nur mit einer grösse von 0 Byte.
Ich habe den Apache 2.2 und PHP 4.4.4 installiert. Der Apache rennt mit meinem Benutzer und der gruppe Users. Das ist weiter nicht tragisch, da dass Teil nicht am Internet hängt.
Ich habe den Apache über Yast installiert, PHP 4 hab ich selbst gebacken. Ferner habe ich PHP5 selbst gebacken und auch schon über Yast installiert. Ich habe versucht den xampp zu verwenden, und ich habe mir von typo3-installer.de das Autobuild script gezogen. Insgesamt mach ich jetzt schon eine Woche dran rum und verlier die Lust. Denn egal wie ich php backe, oder installiere, das mit den Sessions krieg ich nicht hin. Xampp und Co haben das gleiche Problem. Das jetzige PHP was läuft habe ich --enable-trans-sid gebacken...

Auf dem Browser kriege ich vom phpbb Board beim einloggen erst mal gar keinen Keks, typo3 legt mit eine sess_* mit 0 Byte an, ins Backend kann ich mich leider nicht einloggen. Wenn ich mich beim phpbb einlogge, bekomme ich die sid an die adresse angehöngt, obwohl die kopie die produktivläuft auch Cookies setzt. Lösche ich das sid aus der Browseradressleiste raus bin ich wieder ausgeloggt.

Die Firewall hab ich deaktiviert. Am Browser liegt`s ganz bestimmt nicht...

Himmel, ich hab keine Ahnung was das noch sein könnte. Hab ein paar Rootserver laufen, ich mach das beruflich, aber sowas ist mir noch nie untergekommen. Bin echt am verzweifeln :rolleyes:

Jemand nen Tipp was das sein könnte? Das liegt bestimmt irgendwo am opensuse :(
 
Fuktioniert denn der Counter?

PHP:
<?php
session_start();

if(!$_SESSION) $_SESSION['count']=1;
else $_SESSION['count']+=1;

echo $_SESSION['count'];
?>
 
Fuktioniert denn der Counter?

Ausgabe ist 1. Sessions funktionieren so natürlich schon. Nur eben nicht als Cookie. Typo3 und phpbb benutzen für Sessions cookies, diese werden eben nicht gesendet. Ferner wird per Fallback an jeden Link ein ?sid=blabla angehängt. das ist mein blödes Problem :(
 
Last edited by a moderator:
Ausgabe ist 1.
Sofern bei jedem reload die Zahl hochgezaehlt wird, ist mit den Sessions alles in Ordnung.

Dann sollte es an den php Einstellungen liegen (php.ini, virtualHost,...).
z.B. session.use_trans_sid = 0 ; das sollte das Anhaengen der Sid an die Domain verhindern.

Das jetzige PHP was läuft habe ich --enable-trans-sid gebacken...
ab PHP 4.2 ist das standartmaessig schon mit drin.

Ansonsten hilft dir die HPH Seite vielleicht weiter
PHP: Session Funktionen - Manual

Mein Problem besteht nun darin, das auf dem Server keine Sessions für PHP funktionieren. Erkennen kann ich dass daran, das 1. im verzeichnis /tmp keine sess_* files liegen, und wenn, dann nur mit einer grösse von 0 Byte.
Nur sicherheitshalber nachgefragt: der Ordner hat die Rechte 0777?
 
Hallo Guin,

ja der Ordner hat 777, war mir gerade nicht mehr so sicher, ist auf jeden fall aber so.

Hier mal der grep auf session in der php.ini

Code:
session.save_handler = files
session.save_path = "/dev/shm"
session.use_cookies = 1
session.cookie_secure =
session.use_only_cookies = 0
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = "/"
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 16
session.entropy_file = "/dev/urandom"
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 1
session.hash_bits_per_character = 6


SO funktionierts auf jeden Fall nicht. Bin da platt und sprachlos :(
 
Was ich noch vergessen habe zu erwähnen ist, das der Zähler nicht hochgeht. Er bleibt beim Reload auf 1 stehen!
Das war wichtig :)


Versuche es dann mal mit session.entropy_file="" (apache reload nicht vergessen)

session.entropy_file gibt den Pfad zu einer externen Quelle (Datei) an, die bei der Erzeugung einer Session-ID als zusätzliche Entropiequelle verwendet wird. Beispiele sind /dev/random oder /dev/urandom, die auf vielen Unix-Systemen zur Verfügung stehen.
 
MOD: Full-Quote entfernt!
Danke! Zähler geht hoch, file wird angelegt. Aber weder das phpbb noch typo3 funktioniert.
Das phpbb legt gar keinen Cookie an, und typo3 legt einen an, aber login ist ebenfalls nicht möglich.
Da die scripte von einem anderen Server auf dem das geht gespiegelt sind, scheint es dennoch nicht an phpbb oder typo3 zu liegen. die sess hat login_challenge|s:32:"04e86792dbdfce59bf77aaf249e22cc0"; als inhalt wenn ich bei typo3 nen login machen will! :(
 
Last edited by a moderator:
Wir haben nun festgestellt, dass die Sessions generell funktionieren.

Auch wenn du es feur unwahrscheinlich haelst, wuerde ich nun mal bei Typo und Konsorten nachforschen.
Spiegeln ist nicht immer eine gute Idee. Am besten einmal neu installieren. Man vergisst doch hier und da eine Pfadangabe und schon geht es nicht mehr.

Im Speziellen kann ich dir bei Typo3 und phpbb nicht helfen. Das liegt schon zu lange zurueck :D
 
MOD: Full-Quote entfernt!

Das ist ja das Dumme, wenn Du wüsstest was ich schon alles probiert habe, auf jeden Fall habe ich das Problem bei einem NEU INSTALLIERTEN, LEEREN Typo3 genauso. Exakt das gleiche!
Ich arbeite schon mehr als 2 Jahre mit Typo3, habe viele Projekte damit gemacht, aber sowas hab ich noch nie erlebt...

Also wie gesagt, der Fehler ist wohl woanders zu suchen :D

Da bin ich mir sicher, auch wenn sich das jetzt liest, wie wenn ich ein Sturrkopf wäre :D :D
 
Last edited by a moderator:
Mir faellt gerade auf:
session.save_path = "/dev/shm"

Deine Sessions werden standartmaessig nicht in /tmp abgelegt. Du koenntes mal die Pfadangabe anpassen. Das von phpbb keine Sessions zu finden sind, koennte daran liegen, dass dort ein eigener Session Pfad angegeben wird (das laesst sich im Skript aendern).


Das ist ja das Dumme, wenn Du wüsstest was ich schon alles probiert habe...
Das ist ein riesen Nachteil bei Ferndiagnosen.



Da bin ich mir sicher, auch wenn sich das jetzt liest, wie wenn ich ein Sturrkopf wäre
Das was du schreibst, glaube ich dir auch :)
 
Überprüfe mal ob nicht php4 und php5 oder sonstwie php doppelt installiert sind; damit bekam ich schon mal ähnliche Probleme. Auch #whereis php eingeben und gucken, daß nicht php's gleichzeitig in /usr und /usr/local sind
 
Back
Top