4

我使用 plone4.1 和 Diazo 在我的 Mac 上创建了一个门户网站。

现在,我正在尝试将它部署在我的服务器(CentOs)上,那里还有另一个带有 plone4.0.5 +collectivexdv 的站点。

当我使用我的 diazotheme 运行该站点(在一个全新的构建中)时,我通过 shell(实例 fg)获得了这些行:

2011-09-27 09:32:10 ERROR plone.transformchain Unexpected error whilst trying to apply transform chain
Traceback (most recent call last):
  File "/home/plone/.buildout/eggs/plone.transformchain-1.0-py2.6.egg/plone/transformchain/transformer.py", line 42, in __call__
    newResult = handler.transformIterable(result, encoding)
  File "/home/plone/.buildout/eggs/plone.app.theming-1.0b8-py2.6.egg/plone/app/theming/transform.py", line 205, in transformIterable
    transform = self.setupTransform()
  File "/home/plone/.buildout/eggs/plone.app.theming-1.0b8-py2.6.egg/plone/app/theming/transform.py", line 150, in setupTransform
    xsl_params=xslParams,
  File "/home/plone/.buildout/eggs/diazo-1.0rc3-py2.6.egg/diazo/compiler.py", line 106, in compile_theme
    read_network=read_network,
  File "/home/plone/.buildout/eggs/diazo-1.0rc3-py2.6.egg/diazo/rules.py", line 160, in process_rules
    rules_doc = fixup_themes(rules_doc)
  File "/home/plone/.buildout/eggs/diazo-1.0rc3-py2.6.egg/diazo/utils.py", line 49, in __call__
    result = self.xslt(*args, **kw)
  File "xslt.pxi", line 568, in lxml.etree.XSLT.__call__ (src/lxml/lxml.etree.c:120289)
XSLTApplyError: xsltValueOf: text copy failed

怎么了?

4

4 回答 4

6

我遇到了完全相同的问题,这是由于旧的 libxml2/libxslt。在您的构建中添加这些行:

[buildout]
parts =
     lxml # keep lxml as the first one!
     ...
     instance

[lxml]
recipe = z3c.recipe.staticlxml
egg = lxml
libxml2-url = ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz
libxslt-url = ftp://xmlsoft.org/libxml2/libxslt-1.1.26.tar.gz
static-build = true
force = false
于 2011-09-27T23:20:36.310 回答
5

请参阅Plone - XSLTApplyError: xsltValueOf: text copy failed。可能你有一个过时的 libxml,因为它总是像 CentOS 这样的旧发行版。

使用 z3c.recipe.staticlxml。

于 2011-09-27T14:35:46.180 回答
3

听起来您可能拥有过旧版本的 libxml2 和/或 libxslt。我遇到了与 libxml2 2.6.26 和 libxslt 1.1.17 相同的问题。分别升级到 2.7.8 和 1.2.26 后,问题就消失了。

如果您无法在本地升级库,您可以在构建中使用“z3c.recipe.staticlxml”配方快速前进:

[lxml]
recipe = z3c.recipe.staticlxml
egg = lxml

只要记住首先删除eggs目录中的任何现有lxml egg(或者可能在你的~/.buildout/eggs缓存中,取决于你的~/.buildout/default.cfg它是如何设置的)。

于 2011-09-27T14:33:48.160 回答
3

我刚刚在 OS X 10.8 服务器上使用 Plone 4.2.1 让它工作,但只有一次我使用了统一安装程序。我将 libxml2 升级到了 2.8.0 版。在我尝试这个的时候,libxml2 2.9.0 版在 OS X 10.8 上被破坏了。

于 2012-10-16T16:17:11.057 回答