【问题标题】:EC2 User Access or File Access Problems?EC2 用户访问或文件访问问题?
【发布时间】:2016-07-21 06:54:28
【问题描述】:

当我尝试调用 CLI 命令时,我在使用 EC2 实例时遇到了一些问题。我正在使用 Laravel,但我不能确定这是 Laravel 问题还是 EC2。

当我 ssh 进入我的 EC2 实例时,我运行以下 laravel 命令来迁移我的数据库:

php artisan migrate

我收到以下错误:

PHP 致命错误:未捕获的异常“UnexpectedValueException”与 message '流或文件 “/var/app/current/storage/logs/laravel.log”无法打开: 无法打开流:权限被拒绝' /var/app/current/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107

然后我运行sudo php artisan migrate 并得到一个完全不同的错误:

[PDOException] SQLSTATE[HY000] [2002] 没有这样的文件或目录

然后我再次运行php artisan migrate,一切正常!

任何人有任何想法是什么导致了这种行为或者我可能会发现什么错误?

注意:EC2 是运行 PHP 5.5 的 64 位 Amazon Linux 2016.03 v2.1.4

【问题讨论】:

  • 这些几乎可以肯定是操作系统级别的错误。
  • @KarenB 谢谢。知道是什么原因造成的,或者我怎么能找到错误?
  • 检查您的文件权限。看起来 laravel 进程运行的任何用户都无法写入其日志路径。
  • 但为什么会以 sudo 运行(也失败)然后再次运行命令不会导致错误?没有意义
  • /var/app/current/storage/logs/ 存在吗?

标签: linux amazon-ec2 laravel-5


【解决方案1】:
sudo chmod -R g+s storage
sudo chmod -R g+s bootstrap/cache

sudo chmod -R u+s storage
sudo chmod -R u+s bootstrap/cache

sudo find storage -type d -exec chmod 775 {} \;
sudo find storage -type f -exec chmod 664 {} \;


sudo find bootstrap/cache -type d -exec chmod 775 {} \;
sudo find bootstrap/cache -type f -exec chmod 664 {} \;

不推荐:将引导和存储的权限更改为 777。

[ec2-user@ip-172-31-42-2 current]$ sudo chmod -R 777 storage
[ec2-user@ip-172-31-42-2 current]$ sudo  chmod -R 777 bootstrap

【讨论】:

    【解决方案2】:

    此处接受的答案引入了一些严重的安全风险 - 将 chmod 设置为 777 允许系统上的任何人读取、修改和执行这些目录中的任何内容。如果您的存储文件夹包含上传内容,这可能会特别具有破坏性。请参阅this post 了解为什么chmod 777 不好。

    This post 提供了一个更安全的解决方案,它也包含在 Laravel 文档中。简短的版本是您应该将 Laravel 文件夹的所有权授予 Apache,然后将您的用户添加到 Apache 组(通常都是 www-data:

    sudo chown -R www-data:www-data /path/to/your/project/vendor
    sudo chown -R www-data:www-data /path/to/your/project/storage
    

    然后

    sudo usermod -a -G www-data your-user-name
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2015-08-13
      • 2023-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多