【问题标题】:How to enable XMLReader in PHP without reconfiguring PHP?如何在 PHP 中启用 XMLReader 而无需重新配置 PHP?
【发布时间】:2011-12-11 14:40:52
【问题描述】:

我的 PHP 信息有这个:

Configure Command : '--with-libxml-dir=/usr' 
                    '--enable-xml' 
                    '--disable-xmlreader' 
                    '--disable-xmlwriter' 

即我的xmlwriter & xmlreader 在安装过程中没有启用。


                               libxml 

libXML 支持                      活动

libXML 编译版        2.7.8

libXML 加载版本           20708

libXML 流                      已启用

来自php.net manual for XMLReader

运行时配置

此扩展在 php.ini 中没有定义配置指令。

如何启用 XMLReader? / 我是否必须使用 --enable-xmlreader 再次编译我的 PHP?

【问题讨论】:

  • 我想知道你是如何安装 php-xml 包的?
  • 使用百胜。 yum install php-xml.x86_64 在存储库中找到它。

标签: php xmlreader xmlwriter


【解决方案1】:

我找到了解决方法:

首先为我的系统安装包php-xmlphp-xml.x86_64

包装说明: php-xml.x86_64 : 使用 XML 的 PHP 应用程序模块

安装上述软件包(根据您的系统)以启用 XMLReader、XMLWriter。

php -i

现在有这个:

'--with-libxml-dir=/usr' 
'--enable-xml' 
'--enable-xmlreader=shared' 
'--enable-xmlwriter=shared'

我也测试过是否通过创建XMLReader对象来启用包。
但是,我认为我将使用 SimpleXML,因为我必须读取非常小的 xml 文件,并且因为它的内存消耗较低。阅读here

【讨论】:

    【解决方案2】:

    XMLReader 扩展从 PHP 5.0.0 开始在 PECL 中可用,并且从 PHP 5.1.0 开始默认包含并启用。它可以通过在配置行添加参数--enable-xmlreader(或5.1.0之前的--with-xmlreader)来启用。

    默认情况下启用此扩展程序。 可以在编译时使用以下选项禁用它:--disable-xmlreader

    http://www.php.net/manual/en/xmlreader.installation.php

    所以,通过删除 --disable-xmlreader 再次编译 PHP

    【讨论】:

    • 读过。是否有解决方法而不是重新编译整个东西?
    • 我不认为有......你应该问禁用此选项的人(我猜是手痒)
    • 应该有一种运行时的方法。 o.0
    • 我不认为有,如果是这样,PHP 将没有明确的选项--disable-xmlreader。只是我的意见
    • @Consciousness 我在运行时找不到任何正式启用它的东西。所以我想我可能会在这里找到解决方法。并且由于它是 PHP 核心功能,PECL 扩展现已停产链接:pecl.php.net/package/xmlReader
    猜你喜欢
    • 2021-11-09
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2011-03-22
    • 2018-07-23
    • 1970-01-01
    相关资源
    最近更新 更多