Не удается composer выгрузить содержимое из автозагрузочного файла из-за ошибки?

#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
  

У меня есть:

  1. Измените разрешение каталога хранилища на 755
  2. Убедился, что у пользователя 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, снова та же ошибка.