這是問題所在。我正在將從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節點的值:PHP XSL條件語句(選擇,當,如果,否則)導致500內部服務器錯誤
<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內部服務器錯誤
任何人有任何線索可能會導致此?
在我的智慧結束!不能爲我的生活弄清楚爲什麼會發生這種情況。
檢查你的apache錯誤日誌(嘗試'tail/var/log/apache/error.log')它應該包含更多關於錯誤的細節。 – Gordon
檢查服務器的錯誤日誌以獲取詳細信息。例如在運行apache的系統上,將500個錯誤的原因記錄到/ var/log/httpd/error_log。 –
我使用導致失敗的條件語句的另一個示例編輯了問題。 - –