2016-05-17 114 views
0

當嘗試做以下致命錯誤:類 'XSLTProcessor中' 沒有發現 - 但安裝

$xsl = new XSLTProcessor(); 

我收到此錯誤

Fatal error: Class 'XSLTProcessor' not found in

我見過this question about this exact same error(和this one)但我認爲這是不同的。我是否正確地說(我測試了它,看起來是這樣),因爲擴展細節顯示在phpinfo()中,它確實安裝正確嗎?

enter image description here enter image description here enter image description here

是這樣的情況下,或將它總是在phpinfo()函數,無論它被成功安裝的說明了什麼?如果安裝成功,您是否知道可能導致錯誤的原因?

我已經嘗試了幾個版本的PHP,並且我在Azure上託管了它,並且有followed and checked the instructions here這進一步讓我相信該擴展已正確安裝。

+0

還有一個http://stackoverflow.com/questions/18962048/php-extension-not-working-on-windows-azure。你可以試試嗎? –

+0

我確實按照這些說明,發現了一些其他信息,使我認爲這是32位系統 –

回答

1

你是如何在Azure上啓用php_xsl擴展的?如果您手動將DLL庫上傳到Azure並通過配置,請通過ini設置配置部分How to: Enable extensions in the default PHP runtime。它可能是您配置的DLL庫與PHP版本或操作系統版本不匹配。

但是,Azure Web Apps已在每個可用版本的PHP運行時的ext文件夾中包含php_xsl.dll庫。但默認情況下,Azure PHP運行時不啓用它。您可以登錄Azure Web App服務的Kudu控制檯站點,並直接轉至默認的ext文件夾,例如D:\Program Files (x86)\PHP\v7.0\ext。您可以找到Azure提供的所有庫。

所以,請刪除舊的配置,並嘗試通過INI設置遵循配置的How to: Enable extensions in the default PHP runtime部分,添加配置在extensions.ini

extension=php_xsl.dll

任何進一步的問題,請隨時讓我知道。

+0

謝謝,它實際上是一個不匹配的32位和64位。應該早點發現它,但你的答案引導我到那裏去! –

相關問題