【问题标题】:Storage Permission changed when update code on server更新服务器上的代码时更改了存储权限
【发布时间】:2018-11-05 07:29:52
【问题描述】:

我在 laravel 中面临一个主要问题。我总共有 2 台服务器,一台是测试版,另一台是现场版。当我在 beta 版本上上传代码时,它可以正常工作,但是当我将代码从 beta 版上传到 live 时,存储权限会自动更改并给我错误。

如果我将手动权限设置为实时存储文件夹,那么它将正常工作。但是每次都手动设置条件不是正确的方法。

【问题讨论】:

  • 为什么每次都要修改权限?
  • 如何将代码从测试服务器更新到实时服务器?
  • 这是缓存问题,我也遇到过。只需使用这个技巧:在 route.php 中创建一个用于清除缓存的路由,如 ROute::get('/cache-clear',function(){ Artisan::call('config:cache'); Artisan::call('cache:clear'); Artisan::call('route:clear')}) 并在更新实时服务器上的代码时访问此路由
  • @TrickStar 你如何更新服务器告诉我进程,我可以看到进程有问题
  • 代码通过 git 每小时自动更新一次。

标签: php laravel server permissions


【解决方案1】:

如果您使用的是 Git,请运行此命令

git config core.fileMode false

在本地和项目根目录上的服务器上,这将停止权限转移。

【讨论】:

  • 已经在本地和实时服务器上完成,但我们仍然面临同样的问题。
  • 测试版服务器怎么样,因为您正面临测试版和正式服务器之间的问题。你在 beta 服务器上运行过这个命令吗?
  • 我们将我们的代码从我们的系统推送到 git,然后在 1 小时后将我们的代码合并到 beta 服务器中,一个 crone 将运行并实时更新我们的 beta 代码。
  • 没关系,但是代码也在测试服务器上,所以你必须在测试服务器上运行这个命令,因为权限转移问题在测试服务器上。你能确认一件事,cron 作业是由 root 用户或任何其他用户运行的吗?
猜你喜欢
  • 2011-11-16
  • 2019-05-28
  • 2015-11-06
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-12
相关资源
最近更新 更多