【发布时间】:2012-11-05 21:55:15
【问题描述】:
这就是问题所在。我正在获取从 Web 应用程序返回的返回 XML 数据,并通过 XSLT 将其处理为 HTML 供用户查看。这在我的本地 WAMP 服务器(Apache 2.2.21、PHP 5.3.8、libxml 2.7.8、libxslt 1.1.23)上完美运行。但是,当我将它加载到我的 Arvixe 托管服务器(Apache 2.2.23、PHP 5.2.17、libxml 2.7.8、libxslt 1.1.27)时,它失败了。我能够深入研究并发现 xsl 转换正在工作,直到我合并任何条件语句(选择、何时、如果、否则等),此时它会引发“500 内部服务器错误”。我检查了错误日志,没有与问题相关的内容。如果我消除所有条件语句,只显示每个 XML 节点的值:
<xsl:value-of select="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/CaseTypeCD"/>
一切正常
但是如果我添加一个条件语句:
<xsl:choose>
<xsl:when test="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/FHAVAFieldOfficeCode = '0670'">
<xsl:text>Tulsa, OK</xsl:text>
</xsl:when>
<xsl:when test="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/FHAVAFieldOfficeCode = '0339'">
<xsl:text>Washington, DC</xsl:text>
</xsl:when>
<xsl:when test="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/FHAVAFieldOfficeCode = '0344'">
<xsl:text>Wilmington, DE</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>Not Applicable</xsl:text>
</xsl:otherwise>
</xsl:choose>
浏览器显示 500 Internal Server Error
有人知道是什么原因造成的吗?
无计可施!无法为我的生活弄清楚为什么会这样。
【问题讨论】:
-
检查您的 apache 错误日志(尝试
tail /var/log/apache/error.log)它应该包含有关错误的更多详细信息。 -
查看服务器的错误日志以了解详细信息。例如500 个错误的原因被记录到我运行 apache 的系统上的 /var/log/httpd/error_log 中。
-
我用另一个导致失败的条件语句示例编辑了这个问题。 ——
标签: php xslt conditional-statements xsl-choose