Class" XSLTProcessor'未找到

时间:2012-01-27 18:31:26

标签: php xml xls

我正在尝试使用XSLT将XML文件转换为HTML输出。

我的代码如下:

<?php

$xml = new DOMDocument;
$xml->load('file.xml');

$xsl = new DOMDocument;
$xsl->load('file.xsl');

$proc = new XSLTProcessor;

$proc->importStyleSheet($xsl);

echo $proc->transformToXML($xml);

?> 

但是我收到了错误:致命错误:未找到类'XSLTProcessor'

我知道这与事实数据有关xsltprocessor在我的服务器上没有使用PHP编译...但我似乎无法找到启用它的方法。 (我不控制服务器,但我的主机确实如此)

5 个答案:

答案 0 :(得分:6)

只需安装:sudo apt-get install php5-xsl

并重新启动您的APACHE服务器;)

答案 1 :(得分:3)

  

我不控制服务器

系统管理员可以安装并启用PHP XSL extension

虽然它是compiled by default,但是当服务器使用预打包版本的PHP时,默认情况下通常不会安装。如果您使用的是* nix,请让您的主机安装php-xml包。如果您在Windows上托管,它会变得更加复杂,因为它需要找到正确的.dll文件(可能包含或未包含在官方发行版中)并编辑php.ini。

答案 2 :(得分:2)

使用apache2 / php5,您需要安装并启用php5-xsl扩展。

http://php.net/manual/en/book.xsl.php提供有关如何安装xsl扩展的信息。要启用,请在php.ini文件中添加“extension = php_xsl.so”行。

如果它仍然无效,请在服务器上创建一个包含“”行的新.php文件。加载刚创建的文件,然后搜索“xsl”以查看扩展名是否实际加载。

答案 3 :(得分:2)

必须安装XLS扩展。

我的上下文解决方案。

我使用一个docker容器包含ubuntu base并使用php-fpm(即如果你只是已经使用了linux ubuntu)。

在我的上下文中安装此扩展程序的步骤是:

首先在linux存储库中搜索xsl扩展名
sudo apt-cache search xsl

我最终找到了php5-xsl,所以它只是安装
sudo apt-get install php5-xsl

安装过程已经添加了安装配置,如果没有发生,只需自己动手
sudo vim /etc/php5/mods-available/xsl.ini

插入此内容:
extension=xsl.so

(显然路径是根据您的php配置设置,但我的示例是默认配置)

重启你的php fpm并完成(sudo service php5-fpm restart)!

答案 4 :(得分:1)

如果您的php环境在linux上,您可以使用以下命令启用php扩展:

yum install php-xml

如果是Windows系统,您可以进入php.ini配置文件并取消注释php_xml.dll扩展名。

希望有所帮助。快速谷歌搜索可以在将来顺便回答这些问题。