Dies ist ein mögliches Problem, wenn der Pfad zum Speichern von php_session nicht korrekt festgelegt ist:
Das Verzeichnis zum Speichern der Sitzung existiert nicht oder PHP hat keine ausreichenden Rechte, um darin zu schreiben.
Um das Verzeichnis php_session zu definieren, fügen Sie einfach die folgende Zeile zur php.ini hinzu:
session.save_path="/tmp/php_session/"
Und geben Sie dem http-Server Schreibrechte.
Normalerweise wird der http-Server als Benutzer-Daemon im Gruppen-Daemon ausgeführt. Wenn dies der Fall ist, werden die folgenden Befehle es schaffen:
chown -R :daemon /tmp/php_session
chmod -R g+wr /tmp/php_session
service httpd restart
Die Anmeldung schlägt fehl, wenn der Sitzungsordner nicht beschreibbar ist. Um das zu überprüfen, erstellen Sie eine PHP-Datei in Ihrem Webverzeichnis mit:
<?php
$sessionPath = 'undefined';
if (!($sessionPath = ini_get('session.save_path'))) {
$sessionPath = isset($_ENV['TMP']) ? $_ENV['TMP'] : sys_get_temp_dir();
}
if (!is_writeable($sessionPath)) {
echo 'Session directory "'. $sessionPath . '"" is not writeable';
} else {
echo 'Session directory: "' . $sessionPath . '" is writeable';
}
Wenn der Sitzungsordner nicht beschreibbar ist, tun Sie dies auch
sudo setfacl -R -m u:www-data:rwx <session directory>
oder chmod 777 sudo setfacl -R -m u:www-data:rwx <session directory>
-
Ich komme zu spät zum Spiel, aber auf Amazon Linux AMI konnte ich mich nicht bei phpmyadmin anmelden ... es aktualisierte einfach den Anmeldebildschirm ohne Fehler.
Ich habe es mit dem folgenden Befehl behoben
sudo chmod -R 755 /var/lib/php/session