PHP-Sitzungsdateien haben Berechtigungen von 000 – Sie sind unbrauchbar

PHP-Sitzungsdateien haben Berechtigungen von 000 – Sie sind unbrauchbar

Ich hatte immer wieder Probleme mit einem Dokumentenmanagementsystem, das ich installieren wollte, da beim ersten Schritt des Installationsvorgangs folgender Fehler auftrat:

Warning: Unknown: open(/tmp/sess_d39cac7f80834b2ee069d0c867ac169c, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Ich habe in /tmp nachgesehen und gesehen, dass die sess_*-Dateien die folgenden Berechtigungen haben

---------- 1 vanced vanced 1240 Jan 20 08:48 sess_d39cac7f80834b2ee069d0c867ac169c

Alle Sitzungsdateien sehen so aus. Sie sind also offensichtlich für PHP unbrauchbar und verursachen mir viele Probleme.

Wie kann ich PHP dazu bringen, die richtigen Berechtigungen festzulegen? Ich habe versucht, das von php.ini verwendete Verzeichnis in /tmp/phpsessions zu ändern, und es passiert dasselbe. Die Verzeichnisse sind a+rwx.

Antwort1

Der /tmpOrdner ist ein Standardplatzhalter für Sitzungsdateien. Verwenden Sie besser Ihren eigenen benutzerdefinierten Sitzungsordner

Wenn Ihr Host die Berechtigung zum Überschreiben von Berechtigungen zugelassen hat .htaccess, können Sie die folgende Anweisung in Ihrem .htaccessUnterordner public_htmloder httpdocsOrdner platzieren

php_value session.save_path '/yourpath/sessionfolder'

phpWenn Sie NICHT im -Modus arbeiten suphp, stellen Sie sicher, dass der Ordner für andere beschreibbar ist ( 777)

Antwort2

Gibt es eine spezielle umaskEinstellung für dieses Konto? Es sieht so aus, als hätte sie jemand irgendwo falsch eingestellt. Die Rückgabe sollte etwa so aussehen:

% umask
0022

Antwort3

Antwort4

Ändern Sie dieumaskin der eigentlichen Anwendung.

Suchen Sie die Datei index.php oder Bootstrap und fügen Sie oben hinzu:

umask(0022);

verwandte Informationen