Ich denke, es ist ein Berechtigungsproblem für /tmp, aber ich kann anscheinend keine Lösung finden.
Ich verwende PHP, um eine Registrierungs- und Anmeldeseite zu erstellen. Ich kann sehen, dass die Sitzungsdaten bei der Anmeldung des Benutzers an den Ordner /tmp übergeben werden, bei der Umleitung zur Startseite/Indexseite jedoch die Sitzungsdaten wird NULL zurückgegeben.
Ich verwende Folgendes, um zu überprüfen, ob der richtige Pfad über Berechtigungen verfügt:
<?php var_dump($_SESSION); if (!is_writable(session_save_path())) { echo 'Session path "'.session_save_path().'" is not writable for PHP!'; } else { echo 'Session path "'.session_save_path().'" is writable for PHP!'; } ?>
Am Ende hatte ich:
NULL Session path "/var/lib/php/sessions" is writable for PHP!
Wenn ich den Ordner überprüfe, sehe ich, dass die Sitzungsdaten in /tmp gespeichert sind, also definitiv beschreibbar sind.
Meine beste Vermutung ist also, dass start_session() die Berechtigung hat, in /tmp zu schreiben, aber keine Leseberechtigung hat? Aber es ergibt für mich keinen Sinn.
Überprüfen der Berechtigungen in var/lib/php/sessions, die ich erhalten habe (Beispiel):
drwx-wx-wt 2 root root 151552 Dec 22 05:09
Ändern Sie die Berechtigungen des Ordners in:
-rw-rw-rw-
Sicherheits- oder andere Funktionsprobleme verursachen?
我认为这会解决您的问题
然后