【问题标题】:Cannot composer dump-autoload - file put contents error?无法作曲家转储自动加载 - 文件放置内容错误?
【发布时间】:2017-03-04 00:12:20
【问题描述】:

我正在尝试:

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 用户拥有正确的使用权限

我仍然得到错误。关于修复的任何想法?

【问题讨论】:

  • 你安装selinux了吗?或一些听觉服务?在我的盒子里,我遇到了同样的问题,一旦我允许使用setsebool -P httpd_unified 1 的 http 服务,一切都好了

标签: laravel ubuntu laravel-5 composer-php laravel-5.3


【解决方案1】:

尝试设置这些权限:

sudo chmod -R 755 bootstrap/cache/
sudo chmod -R 755 vendor/composer
sudo chmod -R 755 storage

【讨论】:

  • @panthro,与autoload_namespaces.php 完全相同的错误?在vendor/composer 目录上尝试777
  • 是同样的错误,刚刚试了777,又是同样的错误。
【解决方案2】:

首先 安装 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

我希望这行得通。

【讨论】:

    猜你喜欢
    • 2017-02-26
    • 2016-07-08
    • 2015-12-16
    • 2015-04-06
    • 2013-12-16
    • 2018-09-12
    • 2018-09-18
    • 2018-05-18
    • 2022-11-03
    相关资源
    最近更新 更多