首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Capifony未能使缓存升温

Capifony未能使缓存升温
EN

Stack Overflow用户
提问于 2011-12-14 18:42:01
回答 3查看 1.5K关注 0票数 5

昨天,我在服务器上进行了Symfony2系统的第40次或第50次部署。目前一切都很好。今天我犯了一个严重的错误。这就是发生的事情:

代码语言:javascript
复制
 * executing `symfony:cache:warmup'
 * executing "cd /NFS2/oa_sf2/releases/20111214182506 && php app/console cache:warmup --env=prod"
    servers: ["151.1.111.19"]
    [151.1.111.19] executing command
 ** [out :: 151.1.111.19] Warming up the cache
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] [RuntimeException]
 ** [out :: 151.1.111.19] Error creating output file.
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] cache:warmup
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
    command finished
*** [deploy:update_code] rolling back
  • 没有机会对缓存文件夹进行进一步的调查,因为整个代码树在回滚时被移除。
  • 我们知道Capistrano的一些特性可以禁用回滚,但是我们仍然想尝试理解远程服务器上没有访问权限--这肯定是我们这边的事情,因为昨天一切都很好。
  • 部署用户的读/写/执行权限没有更改

请就如何推进调查提出建议吗?非常感谢。

附注:Stacktrace上没有类似的问题来解决这个特殊的问题。

EN

回答 3

Stack Overflow用户

发布于 2011-12-14 20:39:00

我认为这不是一个与能力有关的问题。最后,它只运行Symfony命令。

首先,尝试在服务器上手动运行cache:warmup任务。

这可能是权限问题。在预热之前检查缓存目录的权限。您可以通过覆盖任务来做到这一点(在运行实际命令之前,只需复制它并在缓存目录上运行ls -l )。

你不需要每次都部署来查看出了什么问题。运行缓存:预热命令本身:

代码语言:javascript
复制
cap symfony:cache:warmup

我浏览了Symfony 2.0.7源代码和assetic的YUI压缩机是唯一抛出此类异常的地方。 (参见链接)。这表明这是一个与assetic压缩资产相关的问题。可能是您最近添加了这个特性,而且服务器上没有安装java。

票数 3
EN

Stack Overflow用户

发布于 2011-12-14 20:05:57

磁盘满了?也许,一旦它试图预热缓存,它就会满了。

票数 0
EN

Stack Overflow用户

发布于 2011-12-14 20:39:29

缓存升温是一个symfony任务AFAIU,它可以通过XDebug或其分析器进行检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8509925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档