将子项附加到文档片段时出现分段错误

时间:2014-04-07 22:24:43

标签: php xslt segmentation-fault

我有以下PHP函数,它是从XSLT脚本调用的。目标是根据日期过滤选择的节点。

function filter_feed($nodes)
{
    if( ! $nodes || ! count($nodes))
        return '';

    $r = $nodes[0]->ownerDocument->createDocumentFragment();

    if($r === FALSE)
        exit('failed to create document fragment');

    $limit = date('Y-m-d', strtotime('next Saturday'));

    foreach($nodes as $n)
        if($n->getAttribute('date') <= $limit)
            $r->appendChild($n); // (!)

    return $r;
}

XSLT的XSLT行如下所示:

<xsl:apply-templates select="php:function('filter_feed', //week)/*">
    <xsl:sort select="@date" order="descending" />
</xsl:apply-templates>

这完全适用于我的机器和webhost A.但是在webhost B,我们得到了一个分段错误:11在标有(!)的linje。我根本不明白为什么,webhost B的支持人员也不明白。

这里有没有人经历过这个?造成这种错误的可能原因是什么?我在做错事还是不稳定?

我正在做类似的事情,在不同的地方工作正常:获取ownerDocument,创建片段,追加子节点并返回。不同之处在于我正在创建 new 元素。在上面列出的函数中,我将附加已经是文档一部分的子项。我做错了吗?如果是这样,我该怎么做?

真的希望有人在这里有一些指示,因为我完全迷失了:S

0 个答案:

没有答案