Ich hatte Probleme mit meiner PHP-Website (SuiteCRM) nicht in der Lage, Benutzer zu protokollieren und ich fand es aufgrund nicht in der Lage, auf die Sitzungen Verzeichnis schreiben.PHP session.save_path ignoriert
Ich kann es beheben, indem Sie das Verzeichnis /tmp/php_sessions
erstellen und Schreibberechtigungen für den Apache-Benutzer www-data
geben. Ich sehe, dass das Verzeichnis mit Dateien gefüllt wird, wenn sich Benutzer einloggen.
Allerdings löscht Ubuntu Xenial mein gesamtes tmp
Verzeichnis bei Neustarts, also muss ich es jedes Mal noch einmal wiederholen. Ich entschied mich, meine save_path
woanders hin zu verschieben.
Nachdem es in meiner php.ini-Datei und neu zu starten Apache zu ändern, kann ich überprüfen, ob sie durch Ausführen dieses einfache Skripts wirksam sind:
<?php
echo ini_get("session.save_path");
phpinfo();
?>
Das zeigt mir eine doppelte Bestätigung des neuen Pfades zuerst echo /var/tmp/php_sessions
und dann, in der Mitte aller phpinfo Informationen, die den gleichen Wert wie sowohl Local Value
und Master value
für die Richtlinie session.save_path
.
ABER das Verzeichnis, das PHP verwendet, ist immer noch das erste, /tmp/php_sessions
! Es scheint, dass meine Einstellung ignoriert wird.
Habe ich etwas übersehen? Wo könnte diese alte Umgebung begraben werden? Oder wie kann ich das Neue effektiv machen?
(PS - Ich bin nicht ein redis
Handler wie in anderen ähnlichen Frage SO verwenden)
Haben Sie die Berechtigung, Ihre 'php.ini' Datei zu bearbeiten? – Abela
Hatten Sie den Sitzungspfad manuell gesetzt? –
Versuchen Sie, den Sitzungspfad manuell mit diesem Code 'ini_set (session.save_path, '/ pfad/zu/Ihrem/Ordner')' einzufügen, setzen Sie diesen Code nach ' Php', Danach starten Sie Ihre Sitzung mit 'session_start()' –