2013-07-16 1 views
1

Zone, pound 및 apache를 실행하는 Plone 웹 사이트가 있습니다. 때때로, 나는이 돌아왔다 대신 올바른 HTML의서버에서 HTML의 이진 데이터를 반환합니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <body> 
     <p> 
      �ÿÍKoÛ0ïù àØy÷²ìuS/,3VYrõH¿~ínÒ&#13;;thàÀDJúHF¯þµÆv{Ð](g"ðkQÊÜIn`Öbwk©¸÷X~+÷,êm5Îy®3n³fXÎñ#(rGbÄJ&#13;7¨=(ÓBVA)ÈÐs©Ü,4-÷Òh(-n¤ N=ÀÄEp'ý¼åS.n.:[¦Û`üe²6&amp;4CòÈVklÊ0odi*3Á÷kL0Ï]rMú£þ(é×/Fñ,&amp;ArýímrÒ¥±¸kSSI·Fõ²(©ÆäƤ1Bò+v8O{ÿõ *iþíÃM&amp;㮬Ŭ0YPX1¢ÞHktD»¾ÎvÑöÌÏ0ß©uÌhô5/(ùÊ£e¤à{çÕ{ÏÄå/·â'9µÚ45+¹'Ó2Ö¬öÏãó¶1G;nvöça¯ ÛþdQ í¨õ¡ôÕvSÐmëîî«ikÞþ0¦§ÅÙ%¬àJÛA 8;ß'µèÕTûÔ*Î0ß·í°}÷gî`CGAJÙT3Ç7¸ÐÙ'ôËJB¢97ÆÑëkôºã;:"èxW÷ ë°)vq²µâu 
      ð×÷ïÆ}J¾Aîû÷g36Ô¹H:ÉÒh/"Og§sr·eí± ÏÓ¶kçrI'ÅòÙȤ¿h9}zgȸçéö#þæ~Ó52Áý`:fiBqçàÊÒi#¼_&gt;^)£1þ¤¸ù¬©¸)ö§1ê®^§÷Fx 
     </p> 
    </body> 
</html> 

합니다.

실마리가 있습니까?

+0

올바른 HTML입니다. 본문에 텍스트가 포함되어 있지만 정확한 HTML입니다. –

+1

그렇지 않으면 진단 할 방법이 없습니다. a) 그것을 재현하여, b) Apache, Pound, Plone 레벨에서 발생하는지 확인합니다. –

+0

예, "올바른"HTML이지만 예상 한 것은 아닙니다.) – Jihaisse

답변

2

Finaly는 어디서 왔는지 발견되었습니다.

로그를 분석, 나는이 문제를 가지고 때마다 나는 내 코드에서 QuickInstallerTool을 사용하여 어디 ConflictError: database conflict error (oid 0x0545db, class Products.CMFPlone.QuickInstallerTool.QuickInstallerTool)

이 invastigating 후 여기 the full traceback

참조가 있음을 발견, 내가 발견 브라우저보기 방법에서 사용 :

def isMB(self): 
    """ Sommes-nous dans une marque blanche ? """ 
    qi = getToolByName(self.context, 'portal_quickinstaller') 
    prods = qi.listInstallableProducts(skipInstalled=False) 

    for prod in prods: 
     if (prod['id'] == 'theme.marqueBlanche') and (prod['status'] == 'installed'): 
      return True 

가 계산에게 메도가 호출 될 때마다 피하기 위해, 나는 이런 식으로 캐시 한 :

def cache_isMB(method,self,plonesite): 
    return (plonesite, time() // (3600 * 3660)) 

@ram.cache(cache_isMB) 
def isMB(self, plonesite): 
    """ Sommes-nous dans une marque blanche ? """ 
    qi = getToolByName(self.context, 'portal_quickinstaller') 
    prods = qi.listInstallableProducts(skipInstalled=False) 

    for prod in prods: 
     if (prod['id'] == 'theme.marqueBlanche') and (prod['status'] == 'installed'): 
      return True 

plonesite 인수는 Plone 인스턴스의 ID입니다.

내가 알아 내지 못했지만, 설치 가능한 모든 제품을 나열 할 때 왜 글을 쓰는 것입니까?

+1

글씨는 버그 같아요 ... Plone 4.x에서 몇 가지 애드온 관리 변경 사항이있었습니다. 시작할 때 여분의 쓰기가 수정되었을 수 있습니다. 그것을 조사하려면 : http : //developer.plone.org/persistency/transactions.html#viewing-transaction-content-and-debugging-transactions –

관련 문제