PHP-Sitzung erstellt, aber NULL zurückgegeben
P粉573809727
P粉573809727 2024-02-25 18:52:10
0
1
388

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?

P粉573809727
P粉573809727

Antworte allen(1)
P粉665427988

我认为这会解决您的问题

然后

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage