PHP und session per Cookie geht nicht

Apache, Lighttpd, nginx, Cherokee
schluffi
Posts: 75
Joined: 2005-10-17 19:26

PHP und session per Cookie geht nicht

Post by schluffi » 2007-01-22 16:21

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. Bin echt am verzweifeln.

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

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP und session per Cookie geht nicht

Post by Joe User » 2007-01-22 16:29

Schmeiss Dein Selbstgebackenes vollständig[/b] runter und installiere das bei openSUSE 10.2 mitgelieferte PHP-5.2 inklusive der benötigten PHP-Module (php5-session, etc...). Die mitgelieferten Pakete funktionieren problemlos...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

schluffi
Posts: 75
Joined: 2005-10-17 19:26

Re: PHP und session per Cookie geht nicht

Post by schluffi » 2007-01-22 16:34

Joe User wrote:Schmeiss Dein Selbstgebackenes vollständig[/b] runter und installiere das bei openSUSE 10.2 mitgelieferte PHP-5.2 inklusive der benötigten PHP-Module (php5-session, etc...). Die mitgelieferten Pakete funktionieren problemlos...


Das war das erste was installiert war. Apache 2 und php5 mit allen Modulen die es dazu gibt. Das Problem war schon dort vorhanden:

Session wird zum teil geschrieben, aber nicht per Cookie versendet. Fallback auf SID in den Links....

Drum der weg des selber backens. Auch Xampp und so weiter zeigen diese Symptome :(

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP und session per Cookie geht nicht

Post by Joe User » 2007-01-22 16:39

Code: Select all

grep session /etc/php.ini
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

schluffi
Posts: 75
Joined: 2005-10-17 19:26

Re: PHP und session per Cookie geht nicht

Post by schluffi » 2007-01-22 16:43

session.save_handler = files
session.save_path = /home/manfred/tmp
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 1
session.cookie_lifetime = 3600
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 128
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0


Danke für Deine Hilfe!

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP und session per Cookie geht nicht

Post by Joe User » 2007-01-22 16:46

Code: Select all

[Session]
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
url_rewriter.tags = "a=href,area=href,frame=src,input=src,fieldset="
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

schluffi
Posts: 75
Joined: 2005-10-17 19:26

Re: PHP und session per Cookie geht nicht

Post by schluffi » 2007-01-22 16:55

Danke. Nach wie vor bekomme ich keinen Cookie gesendet. Fallback auf SID in der URL findet nach wir vor stat... ich glaube solangsam nicht das es am Apachen oder PHP liegt...

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: PHP und session per Cookie geht nicht

Post by Joe User » 2007-01-22 17:07

Das &sid= wird bei phpBB2 durch die Funktion append_sid in phpBB2/includes/sessions.php erzeugt, nicht von PHP selbst. Hierfür werden dementsprechend auch keine sess_* durch PHP angelegt. Wie es Typo3 macht, weiss ich nicht...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

schluffi
Posts: 75
Joined: 2005-10-17 19:26

Re: PHP und session per Cookie geht nicht

Post by schluffi » 2007-01-22 18:05

Hallo Joe, danke für Deine Antwort.
Joe User wrote: Das &sid= wird bei phpBB2 durch die Funktion append_sid in phpBB2/includes/sessions.php erzeugt, nicht von PHP selbst. Hierfür werden dementsprechend auch keine sess_* durch PHP angelegt.
Ja, das ist ja soweit auch richtig. Allerdings ist es beim phpbb auch so, dass append_sid als Fallback genutzt wird, wenn der Browser z.B. keine Kekse akzeptiert.
Joe User wrote: Wie es Typo3 macht, weiss ich nicht...
Typo3 geht für das BE davon aus, das sessions über Cookies funktioniert.

Schau, das Portal das ich produktiv Einsetze beinhaltet das phpbb2 plus und eine Typo3 4.0.3. In der produktivumgebung auf einem 9.3 mit selbstgebackenen php4 funktioniert das ohne Probleme. Wenn ich im Forum nicht eingeloggt bin, gehe ich zu "Login", gebe meine Daten ein und bekomme KEINEN Link ala ?sid=...
Der Login ins Typo3 BE funktioniert ebenso.

Nun habe ich vom gesamten Portal nen Tarball auf diese Maschine um die es geht gezogen und nen mysqldump eingespielt. Die wesentlichen unterschiede an den Maschinen sind

prod lokal
Suse 9.3 <-> opensuse 10.2
php4.4.0 <-> php4.4.4

Was ich geändert habe sind die Pfade vom phpbb, ansonsten nicht`s.

So, wenn ich nun den Loginvorgang Lokal mit dem gleichen Browser versuche, bekomme ich keinen Keks geschickt, und in der URL bekomme ich eben das sid mit ran. Mod_Rewrite läuft lokal wie produktiv, in der htaccess wurden auch nur die Pfade geändert.

Und dieses Problem macht mir gerade ganz arg zu schaffen, weil ich auf meinem Testsystem das phpbb versuchsweise updaten möchte, aber das mit den sessions bei mir nicht läuft. Ich weiss also im moment nicht, ob ich das Update nach produktiv schieben kann. Zumindest so lange, bis auf meinem Entwicklungssystem die sessions per Cookie funktionieren.

Testweise habe ich festgestellt, das auf einem Lampp für windows das Problem mit den Sessions auch auftreten, Cookies werden nicht gesendet.

Ich habe echt kein Plan wo ich hinfassen muss.

php hab ich so gebacken:

Code: Select all

'./configure' '--prefix=/usr' '--datadir=/usr/share/php' '--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-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-mbregex' '--enable-memory-limit' '--enable-safe-mode' '--enable-shmop' '--enable-sigchild' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-versioning' '--enable-wddx' '--enable-yp' '--with-bz2' '--with-dom=/usr/include/libxml2' '--with-ftp' '--with-gettext' '--with-jpeg-dir=/usr' '--with-mysql=/usr' '--with-png-dir=/usr' '--with-tiff-dir=/usr' '--with-ttf' '--with-freetype-dir=yes' '--with-zlib=yes' '--with-gd' '--with-openssl' '--with-apxs2=/usr/sbin/apxs2'
Wenns was hilft. Bin wirklich wirklich ratlos

Danke Manfred

schluffi
Posts: 75
Joined: 2005-10-17 19:26

Re: PHP und session per Cookie geht nicht

Post by schluffi » 2007-01-22 18:17

Hier ist mal noch der pfad zur phpinfo:

http://pcr.ath.cx/info.php