根本原因拥有的 Laravel Storage Cache 文件夹无法清除缓存

Gom*_*oum 5 php caching root laravel

我有一个在服务器(Ubuntu 18.04 LTS,apache2 webserver)上运行的 laravel 7 应用程序。我的问题是,这php artisan cache:clear确实返回“无法清除缓存。确保您具有适当的权限。”

我尝试了以下方法但没有成功:

  • chmod -R 775 storage
  • php artisan config:cache
  • 手动删除“bootstrap/cache/services.php”+“bootstrap/cache/packages.php”+“bootstrap/cache/config.php”

“storage/framework/cache/data”中新创建的缓存文件夹有时归用户root所有,这似乎是问题所在。

如果我手动删除这些文件夹,它会一直工作,直到创建新的根文件夹。

随着ps -aux我看到laravel过程由root用户运行。我用 改变了这一点sudo -u myusername,但这并没有改变行为。我php artisan serve在服务器重启时在 rc.local 脚本中启动laravel 应用程序 ( )。

当前用户“myusername”在 www-data 组中。

小智 2

您必须从与当前用户属于同一用户组的用户运行网络服务器。默认情况下rc.local从用户调用命令root,这不是您需要的。

rc.local这样编辑你的:

su user01 -c 'php /var/www/artisan serve'
Run Code Online (Sandbox Code Playgroud)

user01您当前的用户在哪里,/var/www/artisan是您的 artisan 文件的完整路径。另外,也许您应该指定 php bin 文件的完整路径,例如/usr/bin/php或者其他。

更多详情请点击此处