代码之家  ›  专栏  ›  技术社区  ›  Daniel Wright

“类”doimplementation“not found”错误的可能原因是什么?

  •  0
  • Daniel Wright  · 技术社区  · 14 年前

    我遇到了一个模块的问题,它通过 CFPropertyList library ,到客户端的服务器。尝试运行模块时出现致命错误:

    致命错误:在第377行的/server/path/here/CFPropertyList/CFPropertyList.php中找不到类“doimplementation”

    客户机的服务器已经严重过时(Apache 2.2.3、PHP 5.2.6等等),这是我可能会输掉的另一场战斗。但是,PHP的文档 DOMImplementation class 表示PHP5中添加了支持,所以5.2.6应该足够好,尽管它已经落后了很多年(对吧?).

    查看的输出 phpinfo() 建议 libxml 是安装和启用的,这给我的另一个理论设置了障碍。

    libxml文件 部分 phpinfo() 输出:

    libXML support  active  
    libXML Version  2.6.26  
    libXML streams  enabled
    

    还有什么原因可以解释这个错误呢?

    1 回复  |  直到 14 年前
        1
  •  3
  •   netcoder    14 年前

    DOM可能在编译时被禁用(对于编译的安装),使用 --disable-dom 切换。

    或者,如果是预编译的PHP二进制文件(例如:使用apt、yum、rpm、alien、dpkg等安装),则没有安装或禁用DOM扩展。寻找 dom.so 文件和php.ini中的匹配项。

    libxml 可能已经安装,但并不意味着DOM已经安装。