#laravel #ubuntu #laravel-5 #composer-php #laravel-5.3
#laravel #ubuntu #laravel-5 #composer-php #laravel-5.3
Вопрос:
Я пытаюсь:
composer dump-autoload
На сервере Ubuntu 16.04.
Я получаю ошибку:
file_put_contents(/var/www/example.com/site/vendor/composer/autoload_namespaces.php): failed to open stream: Permission denied
У меня есть:
- Измените разрешение каталога хранилища на 755
- Убедился, что у пользователя www-data правильные права на использование
Я все еще получаю ошибку. Есть идеи по исправлению?
Комментарии:
1. вы установили
selinux
? или какой-то слуховой сервис? В моем окне у меня была та же проблема, как только я разрешил http-сервис сsetsebool -P httpd_unified 1
, все стало нормально
Ответ №1:
Прежде всего, после установки Laravel вам следует изменить разрешение для некоторого определенного каталога. Используйте эти команды.
// If your project's directory is owned by root then,
sudo chown -R <username> path_to_laravel_project_directory
// Then change these persmissions (from the root of the laravel project directory)
sudo chmod -R 777 storage/
sudo chmod -R 777 bootstrap/cache/
// At the end please generate your project key
php artisan key:generate
// Now you can use
sudo composer dump-autoload
Я надеюсь, это сработает.
Ответ №2:
Попробуйте установить эти разрешения:
sudo chmod -R 755 bootstrap/cache/
sudo chmod -R 755 vendor/composer
sudo chmod -R 755 storage
Комментарии:
1. @panthro, точно такая же ошибка с
autoload_namespaces.php
? Попробуйте777
вvendor/composer
каталоге.2. Да, та же ошибка, только что попробовал 777, снова та же ошибка.