Heim  >  Fragen und Antworten  >  Hauptteil

PHP-Sitzung erstellt, aber NULL zurückgegeben

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粉573809727P粉573809727211 Tage vor320

Antworte allen(1)Ich werde antworten

  • P粉665427988

    P粉6654279882024-02-26 10:16:53

    我认为这会解决您的问题

    然后

    Antwort
    0
  • StornierenAntwort