Hallo
Nachdem Siquando das Problem an den Anbieter weitergeleitet hat, folgt hier die Antwort des Anbieters;
„Es ist kein Problem, dass session_start() verwendet wird. Dabei handelt es sich tatsächlich um eine PHP-Funktion, die sicherstellt, dass die Sitzung auf der Website gestartet wird, wenn Sie die Website aufrufen oder bestimmte Aktionen ausführen.
Dass der Webserver diese Datei in den Ordner schreibt, liegt daran, dass diese Funktion von den PHP-Dateien aufgerufen wird. Die Nutzung erfolgt nicht automatisch durch den Webserver selbst, diese Funktion muss aufgerufen werden und ist somit Sache der Person, die die Website verwaltet.
Die Tatsache, dass die PHP-Sitzungsdateien in den Ordner /tmp/ geschrieben werden, liegt daran, dass dies der Standardordner ist, der auf unseren Servern für Sitzungsdateien verwendet wird. Dies kann jedoch selbst über eine PHP-Funktion eingestellt werden, siehe hierzu auch https://www.tutorialspoint.com/php/php_function_session_save_path.htm.
Die Tatsache, dass die Sitzungsdateien geschrieben werden, ist jedoch nicht das Problem, sondern dass sie nicht bereinigt werden.
Wenn wir die Webdateien nach „session_start()“ durchsuchen, finden wir mehrere Dateien, die die Sitzungen verwenden/starten.
grep "session_start()" -R * |more
asset/s2dihp.php: session_start();
asset/s2di.php:session_start();
s2dpayhp.php: session_start();
Das Löschen der Sitzungen erfolgt jedoch nie. Wenn wir nach „session_destroy()“ (https://www.php.net/manual/en/function.session-destroy.php) suchen, sehen wir keine Dateien mit dieser Funktion .
Soweit wir das beurteilen können, werden die Sitzungen niemals von der Website selbst gelöscht und der Server muss dies tun.
Da dies nicht immer gut/reibungslos verläuft, kann es dafür sorgen, dass Dateien weiterhin bestehen bleiben. Wenn dies nicht lange genug korrekt gehandhabt wird, füllt sich der Ordner /tmp und verursacht Probleme.
Wir empfehlen, session_destroy() zu verwenden, nachdem die Sitzung nicht mehr benötigt wird, um sicherzustellen, dass sie bereinigt wird.
Allerdings sollte das auch ein Web-Builder wissen und ich verstehe nicht ganz, warum er uns die Schuld gibt. Es ist wahr, dass der Server dies bereinigen sollte, aber ich weiß nicht genau, wann und wie oft dies erfolgen sollte. Es kann sein, dass es nur gesetzt wird, wenn der Dienst neu gestartet wird, da dies nicht allzu oft vorkommt (es sollte passieren) und daher kaum passieren wird.
Deshalb ist diese Funktion in PHP enthalten, um dies selbst zu organisieren, damit keine Probleme mit veralteten Sitzungen entstehen.“
Entweder ist die Löschfunktion im Shop 12 nicht verfügbar oder ich kann sie nirgends aktivieren
Gibt es mehr Menschen mit diesem Problem?
Peter