php - Laravel - 不断获取日志和框架数据缓存错误

标签 php laravel logging frameworks laravel-artisan

我在 Homestead 环境中使用 Laravel 6.x 并且最近在我尝试通过 Angular 前端登录时出现了一些奇怪的错误 - 一旦它到达登录端点,它就会给我一些奇怪的错误(见下文)

The stream or file "/home/vagrant/code/abc-backend/storage/logs/laravel-2020-07-23.log" could not be opened: failed to open stream: Permission denied
由于某种原因,上述文件不存在(存在其他日期的其他日志文件,但不存在 7 月 23 日的日志文件)。然后我手动创建了如下文件 & chmod'd 到 777:
touch storage/logs/laravel-2020-07-23.log
chmod 777 storage/logs/laravel-2020-07-23.log
当我重新加载页面时,以前的错误已经消失,但现在出现以下错误:
file_put_contents(/home/vagrant/code/abc-backend/storage/framework/cache/data/1c/6e/1c6ea8378a1030f85a05f4cb2262de1e2164efa6): failed to open stream: No such file or directory",
我也没有高兴地尝试了以下内容:chown -R vagrant:www-data /home/vagrant/code/abc-backend/storagechmod -R g+w /home/vagrant/code/abc-backend/storage我用 php artisan 尝试了很多东西尝试纠正这些错误,包括运行php artisan cache:clear命令没有乐趣 - 其他人可以让我深入了解为什么我同时收到日志文件错误和缓存/数据错误以及修复它们的最佳方法吗?
如果您需要有关我的设置的更多信息,请告诉我,这将有所帮助。
- 更新 -
我正在使用 Virtual Box 6.0 Homestead box 运行 Ubuntu 18.04.3 LTS
家园 v10.9.1
Homestead.yaml 文件 --
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Sites
      to: /home/vagrant/code

sites:
    - map: laravel.local
      to: /home/vagrant/code/laravel/public
      type: "laravel"

    - map: abc.local
      to: /home/vagrant/code/abc-ui/app
      type: abc
      variables:
          -   key: abc_TIER
              value: homestead

    - map: dev.abc.local
      to: /home/vagrant/code/abc/public
      type: dev
      variables:
          -   key: abc_TIER
              value: homestead

    - map: api.abc.local
      to: /home/vagrant/code/abc-backend/public

databases:
    - homestead
    - dev

features:
    - mysql8: true
    - pm2: true
    - webdriver: true

variables:
    - key: ABC_TIER
      value: homestead
enter image description here
framework/data/cache 目录看起来像这样 - 子目录看起来也一样(vagrant/vagrant 和相同的 drwxrwxrwx 权限)。
drwxrwxrwx 1 vagrant vagrant 160 Jul 20 09:50 。
drwxrwxrwx 1 vagrant vagrant 160 Jul 17 15:06 ..
drwxrwxrwx 1 vagrant vagrant 96 Jul 20 09:50 1c
-rwxrwxrwx 1 vagrant vagrant 6148 Apr 3 10:52 .DS_Store
-rwxrwxrwx 1 vagrant vagrant 14 Jul 17 15:06 .gitignore

最佳答案

你用什么做网络服务器? nginx 还是 apache?
如果您使用的是 nginx,则需要更改存储文件夹的组,如下所示。

chown -R vagrant:www-data storage
如果您使用的是 apache,则需要按如下方式更改存储文件夹组。
chown -R vagrant:apache storage
或者请这样做。(不推荐)
chmod -R 777 storage

关于php - Laravel - 不断获取日志和框架数据缓存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63050949/

相关文章:

php - 通过URL传递字符串时,$ _ GET方法不起作用

php - 为什么 codeigniter 等不允许获取变量

php - Laravel 8.15.0/Jetstream - 如何注册新 Blade x-jet-newblade?

Laravel - CNAME + 子域路由

android - 未定义对 `__android_log_print' 的引用

iis - 使用 Microsoft Log Parser,您将如何使用 IP 计数聚合命中计数?

javascript - 如何根据两个下拉选项从数据库中检索数据

php - $request 不适用于 laravel get 方法

mysql - Polymorph vs Relation Mysql with Laravel

linux - 使用 linux 过滤 apache 文件