2016-05-17 112 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位。应该早点发现它,但你的答案引导我到那里去! –

相关问题