Laravel 4: nie udało się otworzyć strumienia: Odmowa uprawnień

Mam problem z ustawieniem Laravel 4. Mam ten błąd podczas otwierania strony indeksu:

File_put_contents (/Users/laravel/app/storage/meta / services.json) [function.file-put-contents]:
nie udało się otworzyć stream: Odmowa uprawnień.

Co mi tu umyka?

Author: Daniel Pelsmaeker, 2013-06-10

6 answers

Katalog storage musi być zapisywalny przez użytkownika serwera www.

 45
Author: Franz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-10 09:22:05

Myślę, że chmod -777 to zła praktyka.

Aby rozwiązać problem z uprawnieniami na Laravel, zrobiłem to (z użytkownikiem root):

cd app/

chown -R www-data:www-data storage

cd storage/

find . -type d -exec chmod 775 {} \; && find . -type f -exec chmod 664 {} \;

I zawsze w katalogu app / storage:

chown your_user:user_group .gitignore cache/.gitignore logs/.gitignore meta/.gitignore sessions/.gitignore views/.gitignore

Teraz WYJDŹ z użytkownika root i będzie dobrze.

EDIT: to było dla Laravel4. To nie działa w przypadku Laravel5 z powodu innej struktury.

 52
Author: François,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-27 10:52:25

Lepiej, żebyś nie zmieniał uprawnień, powinieneś po prostu zmienić owner:group folderu pamięci na owner:group apache za pomocą chown, jest to bardziej skomplikowane, ale jest bezpieczniejsze i wkrótce się do tego przyzwyczaisz, znajdziesz to w httpd.conf

MAMP:

/Applications/MAMP/conf/apache/httpd.conf

XAMMP:

/Applications/XAMPP/xamppfiles/etc/httpd.conf

Otwórz httpd.skonfiguruj preferowany edytor, a następnie wyszukaj User/Group. Po przeszukaniu zobaczysz te linie poniżej ta podświetlona linia, którą szukałeś:

User someuser
Group somegroup

Gdy już znasz użytkownika i Grupę, cd do katalogu laravel następnie wykonaj chown:

chown -R someuser:somegroup app/storage

P. S: Jeśli podczas robienia chown pojawi się błąd uprawnienia, spróbuj tego:

sudo chown -R someuser:somegroup app/storage

Następnie poprosi o hasło, więc wprowadź je, a następnie wykonaj.

 14
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-04 04:00:57

Właśnie natknąłem się na ten problem na centos 7. Blokowanie nie było uprawnieniami do folderów, raczej było blokowaniem polityki selinux Nginx/php, aby uzyskać dostęp do / var / www. Tak więc, jeśli powyższe nie zadziała, spróbuj wyłączyć selinux jako test, aby sprawdzić, czy możesz ponownie uruchomić composer bez żadnych problemów z uprawnieniami.

 5
Author: user3670777,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-08 19:59:42

W moim przypadku błąd ten został wyrzucony:

Nie można otworzyć strumienia: operacja nie powiodła się

Używam wirtualnego hosta w Wamp. dlatego dodałem ten wiersz do mojego <VirtualHost> -> <Directory> Blok w pliku httpd-vhosts.conf:

Require all granted

A mój blok to:

<VirtualHost *:80>
    ServerName laravel
    DocumentRoot d:/wamp/www
    <Directory  "d:/wamp/www/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
Więc problem rozwiązany!
 0
Author: ivahidmontazer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-02 11:05:01

Jeśli używasz Apache na Ubuntu, foldery storage i Bootstrap/cache muszą być zapisywalne przez użytkownika serwera www.

sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

Pozwoli to na zapis do tych folderów użytkownikom serwera www.

 0
Author: Ajnas Kt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-04 06:27:07