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?
6 answers
Katalog storage
musi być zapisywalny przez użytkownika serwera www.
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.
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.
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.
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!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.
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