PHP.ini benutzerdefinierter session.save_path Berechtigung verweigert

PHP.ini benutzerdefinierter session.save_path Berechtigung verweigert

ich benutze

  • Centos 7 (neuestes Update)
  • Apache 2.4.6
  • PHP 7.2

Ich möchte das Verzeichnis ändern, in dem die Sitzungen auf dem Server gespeichert werden. Das Standardverzeichnis ist /var/lib/php/session/. Ich kann dieses Verzeichnis problemlos verwenden, aber wenn ich das Verzeichnis in PHP.inider Datei ändere, erhalte ich eine Fehlermeldung:

session_start(): open(/var/www/session/sess_dug784eu96aj06eh1gte4hak2f, O_RDWR) failed: Permission denied (13)

Ich habe auch Folgendes bearbeitet php.confund /etc/httpd/conf.dentfernt, um zu verhindern, dass das Sitzungsverzeichnis überschrieben wird:

php_value session.save_path    "/var/lib/php/session"

Wie Sie sehen, verwende ich /var/www/session/ein neues Verzeichnis zum Speichern von Sitzungen. Dieses Verzeichnis existiert und hat genau dieselben Berechtigungen wie das Standardverzeichnis:

0770 / owner : root / group : Apache

Ich habe auch versucht, die vorhandene Sitzungsdatei vom Standardverzeichnis in das neue Verzeichnis zu kopieren, aber ich erhalte immer noch denselben Fehler!

Ich danke Ihnen für Ihre Hilfe.

Antwort1

Okay, ich habe die Lösung gefunden, THX @womble, um zu zeigen, wo das Problem liegt, ich konnte zumindest auf die richtige Weise suchen,

Für den Fall, dass jemand anderes dasselbe Problem hat, muss SELinux deaktiviert werden (was nicht empfohlen wird) oder so konfiguriert werden, dass Apache auf das neue Verzeichnis zugreifen kann:

chcon -t httpd_sys_rw_content_t /var/www/session -R

verwandte Informationen