session_start() in Constructor einer Klasse möglich ?
ottonormalverbraucher
- php
Guten Morgen,
also ich habe eine Klasse Useradmin geschrieben, die wie folgt anfängt:
<?php
class UserAdmin
{
var $sessionID;
var $clientIP;
var $language;
var $userType;
var $aCustomer;
var $db;
// Constructor
function UserAdmin()
{
$userType = "new";
session_start();
if(!is_object($this->aCustomer))
{
global $aCustomer;
$aCustomer = new Customer();
assignSessionID();
assignLanguage();
assignIP();
}
}
Ich bekomme folgende Fehlermeldung:
Warning: open(/tmp\sess_eec4ac940b1cf0ca68124ba3e2ef13df, O_RDWR) failed: No such file or directory (2) in d:\classes\control\useradmin.class.php on line 15
Line 15 wäre die mit "session_start()".
Was will der Linker hier?
Danke
Holladiewaldfee,
Warning: open(/tmp\sess_eec4ac940b1cf0ca68124ba3e2ef13df, O_RDWR) failed: No such file or directory (2) in d:\classes\control\useradmin.class.php on line 15
Was will der Linker hier?
Er will Dir sagen, daß das, was in der Fehlermeldung steht, auch so ist: Der Pfad /tmp existiert auf Deinem System nicht. Du wirst wahrscheinlich ein Windows-System verwenden. Dann solltest Du in der php.ini den entsprechenden Eintrag tunlichst anpassen.
Ciao,
Harry
Hi,
Er will Dir sagen, daß das, was in der Fehlermeldung steht, auch so ist: Der Pfad /tmp existiert auf Deinem System nicht. Du wirst wahrscheinlich ein Windows-System verwenden.
Richtig!
Dann solltest Du in der php.ini den entsprechenden Eintrag tunlichst anpassen.
Könntest Du mir bitte sagen, wie die Zeile heißt?
Oh Mann, ich habe früher immer mit Cookies gearbeitet.
Heißt das das mein Webspaceprovider die Option wahrscheinlich auch nicht aktiviert hat?
Danke
Hallo,
Könntest Du mir bitte sagen, wie die Zeile heißt?
Die Zeile beginnt mit 'session.save_path =' und du findest sie (logischerweise) im Abschnitt [Session].
Gruß, Jan
Hi Jan,
Die Zeile beginnt mit 'session.save_path =' und du findest sie (logischerweise) im Abschnitt [Session].
Super, Danke vielmals!
Gruß ONV
Hi,
also es haut immer noch nicht hin. Meine php.ini sieht nun so aus:
[Session]
; Handler used to store/retrieve data.
session.save_handler = files
; 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 = /temp
; 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.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
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"
Klappt aber nicht!
Danke
Hallo,
Es steht doch dick drüber was du machen mußt ;-)
Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = /tmp
Auf deinem (Windows)-System gibt es keinen Ordner /tmp. Du mußt den Eintrag auf irgendeinen Ordner zeigen lassen, der auf deinem System existiert und in dem du die Sessiondaten speichern lassen willst.
Das könnte dann z.B. so aussehen:
session.save_path = D:\www\phptmp
Gruß, Jan
Hi,
cool, Danke es scheint nun zu funktionieren!
Alles Gute
Gruß
ONV