Etwas wirklich Seltsames passiert.
httpd.conf
sagt, dass Apache als Apache-Benutzer ausgeführt wird.
Ich habe die Dateien als apache:apache
deklariert.
Die Datei ist immer noch nicht beschreibbar.
Ich habe die Berechtigungen (der gesamten Webroot als letztes Mittel) auf 777
gesetzt und die Datei ist immer noch nicht beschreibbar ...
Der Pfad ist korrekt, weil file_exists()
ist true
, aber is_writeable
ist false
.
Irgendwelche Ideen?
Es ist mehr als möglich, dass SELinux auf dem Computer läuft. Um zu überprüfen, ob es läuft oder nicht, sollten Sie den Befehl getenforce
in der Befehlszeile ausführen können. Wenn "Enforcing" zurückgegeben wird, ist SELinux aktiviert und wird im Erzwingungsmodus ausgeführt.
Ich schlage vor, dass Sie in den meisten Fällen (außer Sie wollen Tage damit verbringen, etwas über SElinux zu lernen) ihn deaktivieren, indem Sie setenforce Permissive
ausführen und /etc/sysconfig/selinux
bearbeiten, damit das nächste Mal der Server neu gestartet wird.
Wenn Sie sicher sind, dass Sie SELinux nicht benötigen, können Sie die Pakete einfach vom Server entfernen
Vielleicht sind Sie nur auf vserver root? Haben Sie einen eigenen Server oder haben Sie nur Host & gt; Wenn Sie nur Host (nicht ganze Maschine) als oft haben, können Sie nicht vmstat ausführen oder Datei von sysctl bearbeiten.
Zweite Option ist SELinux. Führen Sie getenforce aus. Wenn erzwingen zurückgegeben wird, sollten Sie setneforce Permissive ausführen. Dieser unbrauchbare SELinux
Tags und Links php apache filesystems