2011-12-14 52 views
5

昨天我在服務器上對Symfony2系統進行了第40次或第50次部署。一切都很好。今天我得到一個令人討厭的錯誤。這是發生了什麼:Capifony無法升溫緩存

* 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的去除機會進一步調查緩存文件夾功能的一些方法來禁用回滾,但我們仍然會喜歡嘗試與遠程服務器上沒有訪問權限的理解 - 它必須是在我們邊的東西,因爲昨天它是一切OK
  • 沒有變化上部署用戶的讀/寫發/執行權限

請問關於如何進行調查的任何建議? 非常感謝。

p.s. Stacktrace沒有類似的問題來解決這個特殊的問題。

+0

在此問題之前,您是否升級了Symfony? – dlondero 2011-12-14 19:26:43

+0

你有沒有解決這個問題?我有一個類似的問題,但與資產:轉儲(本地運行正常和在臨時服務器上)。 – ed209 2012-09-04 11:00:13

回答

0

磁盤已滿?一旦它試圖預熱高速緩存,它可能會變滿。

3

我認爲這不是一個真正的Capifony相關的問題。最後它只運行Symfony命令。

首先嚐試在服務器上手動運行cache:warmup任務。

這可能是權限問題。在熱身之前檢查緩存目錄的權限。您可以通過覆蓋該任務來完成該任務(只需將其複製並在運行實際命令之前在緩存目錄上運行ls -l)即可。

你不必每次都去部署,看看有什麼問題。運行緩存:預熱命令本身:

cap symfony:cache:warmup 

我greped的Symfony 2.0.7源和assetic's YUI compressor is the only place where such exception is thrown(見鏈接)。這表明這是與資產壓縮有關的問題。可能是你最近添加了這個功能,並且沒有在服務器上安裝java。

0

緩存預熱是一個symfony任務AFAIU,它可以通過XDebug或其分析器進行檢查。