Dies mag wie ein Duplikat erscheinen, aber ich habe die ähnlichen Fragen gelesen und versucht, was sie vorgeschlagen, und es hat nicht funktioniert.CakePHP Berechtigungen Fehler
Als ich meine CakePHP Website navigieren erhalte ich die folgenden Fehler
Warnung (2): mkdir(): Zugriff verweigert [CORE/src/Cache/Motor/FileEngine.php, Linie 417]
Warnung: file_put_contents (/var/www/html/my-application/logs/error.log) [function.file-put-contents]: failed to open stream: Zugriff verweigert in /var/www /html/my-application/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 134
Warnung (512):/var/www/html/my-application/tmp/cache/persistent/nicht beschreibbaren [CORE/src/Cache/Motor/FileEngine.php, Linie 425]
Warnung (2): file_put_contents (/var/www/html/my-application/logs/error.log) [function.file-put-contents]: Stream konnte nicht geöffnet werden: Berechtigung verweigert [CORE/src/Log /Engine/FileLog.php, Leitung 134]
Warning: file_put_contents (/var/www/html/my-application/logs/error.log) [function.file-put-contents]: failed to open stream : Berechtigung verweigert in /var/www/html/my-application/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 134
Die Sache ist, ich bin sicher, dass PHP Zugriff auf alle hat notwendige Dateien.
PHP läuft als Benutzer Apache, in Gruppe Apache. Beweis:
[[email protected] my-application]$ ps -efl | grep apache
5 S apache 21863 21861 0 80 0 - 124037 SYSC_s 03:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21864 21861 0 80 0 - 123971 SYSC_s 03:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21865 21861 0 80 0 - 123485 SYSC_s 03:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21867 21861 0 80 0 - 124037 SYSC_s 03:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21868 21861 0 80 0 - 123485 SYSC_s 03:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21869 21861 0 80 0 - 123485 SYSC_s 03:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21870 21861 0 80 0 - 124037 SYSC_s 03:06 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21881 21861 0 80 0 - 123485 SYSC_s 03:09 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21882 21861 0 80 0 - 123485 SYSC_s 03:09 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5 S apache 21883 21861 0 80 0 - 125444 ep_pol 03:09 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
0 S ec2-user 21934 21785 0 80 0 - 28161 pipe_w 03:20 pts/0 00:00:00 grep --color=auto apache
Relevante Verzeichnisse sind im Besitz von Apache: Apache und haben Berechtigungen auf 777 trotzdem:
[[email protected] my-application]$ ls -l
total 132
drwxrwxr-x. 2 apache apache 47 May 12 21:16 bin
-rw-rw-r--. 1 apache apache 1128 May 12 21:16 composer.json
-rw-rw-r--. 1 apache apache 93002 May 12 21:16 composer.lock
drwxrwxr-x. 3 apache apache 4096 May 12 21:19 config
-rw-rw-r--. 1 apache apache 648 May 12 21:16 index.php
drwxrwxrwx. 2 apache apache 34 May 13 03:10 logs
-rw-rw-r--. 1 apache apache 1139 May 12 21:16 phpunit.xml.dist
drwxrwxr-x. 2 apache apache 18 May 12 21:16 plugins
-rw-rw-r--. 1 apache apache 980 May 12 21:16 README.md
drwxrwxr-x. 9 apache apache 4096 May 12 21:16 src
drwxrwxrwx. 4 apache apache 55 May 12 21:16 tests
drwxrwxrwx. 2 apache apache 6 May 13 03:17 tmp
drwxrwxr-x. 28 apache apache 4096 May 12 21:16 vendor
drwxrwxr-x. 9 apache apache 4096 May 12 21:16 webroot
Unterverzeichnisse in tmp/richtigen Berechtigungen zu:
[[email protected] tmp]$ ls -l
total 0
drwxrwxrwx. 5 apache apache 48 May 12 21:16 cache
drwxrwxrwx. 2 apache apache 18 May 12 21:16 sessions
drwxrwxrwx. 2 apache apache 18 May 12 21:16 tests
Ich habe auch versucht, die Genehmigungen wieder anzuwenden, nur für den Fall,
sudo chown -R apache:apache /var/www/html/my-application
sudo chmod -R 777 /var/www/html/my-application/tmp
sudo chmod -R 777 /var/www/html/my-application/logs
sudo chmod -R 777 /var/www/html/my-application/tests
zu verwenden
Und ich habe auch in als Apache und bearbeiten die Dateien selbst, ohne Probleme
sudo su -s /bin/bash apache
vi /var/www/html/my-applciation/logs/error.log
Ich bin wirklich zu arbeiten, zu kämpfen angemeldet, was das Problem jetzt sein könnte.
Wir haben SELinux installiert/aktiviert, vielleicht verursacht das also Probleme?
Hilfe wäre sehr willkommen.
Danke,
YM
Haben Sie die Berechtigung rekursiv angewendet? Nicht einmal Cache muss beschreibbar sein, aber auch Unterverzeichnisse – arilia
@arilia yep, sie sind rekursiv gemacht –
Haben Sie die Checkliste für die Fehlersuche hier http://stackoverflow.com/questions/36577020/failed-to-open-stream-no gefolgt -seine-Datei-oder-Verzeichnis? Es bietet Elemente im Falle von SELinux. Es könnte durchaus der Grund sein –