gpt4 book ai didi

php - Laravel 8 storage/framework/cache/data/ee 文件夹将用户设置为root :root rather than apache:apache permission denied

转载 作者:行者123 更新时间:2023-12-04 19:35:24 24 4
gpt4 key购买 nike

我有一个 Laravel 8 应用程序,在 Cent OS 8.4 VM 上运行。我正在使用 jwt-auth Tymondesigns 打包来在我的项目中实现身份验证,它被用作 API。
当我在服务器上设置项目并部署它时,storage Laravel 中的文件夹移动到 shared目录作为 deployer 的一部分项目,并且出于某种原因,尽管设置了 storage 的权限文件夹,我发现不是每个文件夹,尤其是 ee缓存文件夹的权限错误,我收到 JWT auth 包抛出的权限被拒绝错误:

file_put_contents(/var/www/project-beacon-api/releases/37/storage/framework/cache/data/ee/67/ee673b1cd21b0cd9eca15c240d66269df17f9b3a): failed to open stream: No such file or directory


我不明白为什么会出现这个错误,只要我使用 Laravel,设置 storage 的权限文件夹到 755/ 775从来没有工作过,并且试图打开该网站总是抛出一个权限被拒绝。
我在权限配置中缺少什么,我需要运行什么来一劳永逸地解决这个问题?
permissions
它似乎总是 ee文件夹!

最佳答案

由于 laravel 缓存而发生错误
在运行此命令之前
转到项目中的 .env 文件,您会发现

CACHE_DRIVER = file
然后将缓存驱动程序更改为此
CACHE_DRIVER = array
在 Laravel 中使用缓存时,您应该考虑 3 个可能的“家族”:
临时/调试
大批
始终可用
文件
数据库
APC(自 PHP7 以来我不会相信这个)
投入的
雷迪斯
内存缓存
由于您可以轻松更换缓存驱动程序,因此您无需根据您的用例选择一个,而是更多地基于您的服务器需求/负载和可能性。
例如在你的开发机器上,我建议使用一个文件,因为这样你就不需要任何额外的软件来阻塞你的电脑,而且你可以获得快速清除缓存的能力,即使你做了一些非常糟糕的事情,比如破坏 artisan 命令。您需要做的就是删除 storage/framework 文件夹并再次拥有一个新实例(确保之后从您的存储库重新生成 .gitignore 文件)
对于您的主服务器,您必须考虑您的可能性。如果您拥有其中一个免费托管网站,您几乎肯定无法安装任何新软件,因此您可以考虑使用文件或数据库。即使数据库可能比文件快,但在大多数情况下,它是您网站的最薄弱环节,并且尝试将更多数据插入该瓶颈不是一个好主意,这就是为什么我建议不要使用它的原因,而是坚持文件。
如果您有专用服务器,那么您绝对应该选择 Memcached 或 Redis。两者中的哪一个?这取决于很多因素,你可以在网上找到很多比较,随便找一个。我个人更喜欢 Redis,因为它具有持久化数据的能力,但是任何一个都是一个很好的解决方案

关于php - Laravel 8 storage/framework/cache/data/ee 文件夹将用户设置为root :root rather than apache:apache permission denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69160869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com