Session Fehler in PHP 4.1.3?

Dejavu

Registered User
Habe dies in eine anderem Forum gelesen:

Stimmt das?

PHP 4.1.x hat ein kaputtes Sessionmanagement. Damit haste nur Ärger... Es gibt sogar Scripte, die bei der Installation abbrechen, wenn sie 4.1.x finden.

Die PHP 4.2.x nimmt man auch nicht. Dort wurde zwar der Sessionkram gefixt aber dafür andere Bugs eingebaut: zB. Alzheimerbug bei Formulardaten.

Sieh zu, daß Du einen backport für PHP > 4.3.4 findest. Ideal wäre 4.3.11.


Bei mir werden die User nicht gelistet oder gezählt.

Server:
Apache/1.3.26 (Unix) Debian GNU/Linux mod_python/2.7.8 Python/2.1.3 PHP/4.1.2 mod_perl/1.26

Linux loki 2.4.25 #1 Thu Feb 19 04:57:38 MST 2004 i686 unknown


Mfg Dejavu
 
Hallo!
Ich denke nicht, dass die nicht angezeigten Benutzer in der Software mit der PHP Version zusammenhängt. Du solltest allerdings dringend über ein Update deiner PHP Version nachdenken. Mittlerweile sind einige Fehler behoben worden, die zum Teil extrem Sicherheitskritisch sind.

mfG
Thorsten
 
Hallo Thorsten,

habe nun diese Updates vom Hoster vornehmen lassen:

Apache 1.3.33
PHP4 4.3.10
MySQL 4.0.24


Aber dennoch habe ich immer ein Problem mit den Sessions. Und zwar bekomme ich diese Fehlermeldung:

Fatal error: session_start(): Failed to initialize storage module: user (path: /tmp) in /var/www....

Der Ordner TMP ist aber im Webroot Verzeichniss vorhanden und auch volle Schreibrechte. Dennoch bekomme ich diesen Fehler, wie kann man den abstellen?

MFG
Dejavu
 
Hallo!
Du versuchst in den Ordner /tmp zu schreiben. Der ist wahrscheinlich nicht über den Apache erreichbar. Wenn du einen Ordner unterhalb von Webroot erstellt hast, ist dieser über /var/www/....../tmp erreichbar.

(.....) ist von dir an den genauen Pfad anzupassen.

mfG
Thorsten
 
Hallo Thorsten, danke für deine Antwort.

Also der Ordner /phptmp existiert bei allen Web´s (bei allen Kunden Web1, Web2 usw)

Der Ordner hat Schreibrechte 770. Habe diese auch mal auf 777 geändert, hat aber auch nichts gebracht.

In der PHP.ini steht auch als Ordner /tmp. Dieser ist auch im Webroot verzeichniss vorhanden mit entsprechenden Rechten.

Ich kopiere dir mal einen Auszug aus der PHP.Ini hier rein:

Code:
; Handler used to store/retrieve data.
session.save_handler = user

; Argument passed to save_handler.  In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this 
; variable in order to use PHP's session functions.
session.save_path = /tmp

; Whether to use cookies.
session.use_cookies = 1


; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =

; Handler used to serialize data.  php is the standard serializer of PHP.
session.serialize_handler = php

; Percentual probability that the 'garbage collection' process is started
; on every session initialization.
session.gc_probability = 1

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; Check HTTP Referer to invalidate externally stored URLs containing ids.
session.referer_check =

; How many bytes to read from the file.
session.entropy_length = 0

; Specified here to create the session id.
session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public} to determine HTTP caching aspects.
session.cache_limiter = nocache

; Document expires after n minutes.
session.cache_expire = 180

; use transient sid support if enabled by compiling with --enable-trans-sid.
session.use_trans_sid = 1

url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
 
Last edited by a moderator:
Nein habe kein Mambo, sondern ein Nuke ähnliches CMS. Aber am CMS liegt es definitiv nicht, den kein Script funzt. Alle wollen Sessions mäßig was geändert haben.

Habe Server nochmal Rebootet und Counterscript durchlaufen lassen, dennoch keine veränderung. Bin ziemlich verzweifelt :(

Hier nochmal die Fehlermeldung:

Fatal error: session_start(): Failed to initialize storage module: user (path: /tmp) in /var/www/web.....
 
Dejavu said:
(path: /tmp)
Solange dieser Teil der Fehlermeldung nicht ändert, wirst Du nicht weiter kommen.

Nutze phpinfo() um Dir die lokalen Einstellungen anzeigen zu lassen.
Und dann fummel erstmal mit der Hand an der confixx_vhost.conf rum, bis es paßt.
Code:
php_admin_value session.save_path = /srv/www/htdocs/web1/phptmp/

huschi.
 
Huschi said:
Solange dieser Teil der Fehlermeldung nicht ändert, wirst Du nicht weiter kommen.

Nutze phpinfo() um Dir die lokalen Einstellungen anzeigen zu lassen.
Und dann fummel erstmal mit der Hand an der confixx_vhost.conf rum, bis es paßt.
Code:
php_admin_value session.save_path = /srv/www/htdocs/web1/phptmp/

huschi.

Wo finde ich die confixx_vhost.conf? :confused:
 
Habe ich jezt auch mal probiert, allerdings wird nach dem Neustarten des Webservers und des Updatescriptes die Einstellung wieder überschrieben.
 
Huschi said:
Und dann fummel erstmal mit der Hand an der confixx_vhost.conf rum, bis es paßt.
Du sollst fummel bis die Zeile paßt.
Von einem Updatescripte steht hier nichts.

Sobald die Zeile stimmt mußt Du die unter httpd-Spezial im Confixx eingeben.
Das ist deshalb so umständlich, weil man im Confixx diese Zeile im Nachhinein nicht mehr ändern kann.

huschi.
 
Back
Top