Class ‘DomDocument’ not found(WordPress 导入文章遭遇空白页面问题)

WordPress 导入文章时使用的 wordpress-importer 插件需要使用 DOM 模块来处理 XML 数据。如果服务器上没有正确安装/配置 DOM 组件,则会在选择文件并点击导入按钮后遭遇空白页面。需要 XML 处理能力的 PHP 程序在遇到此问题时都会有 Class 'DomDocument' not found 错误提示。

如果服务器开启了 PHP 错误报告,会遇到错误提示;如果没有开启 PHP 错误报告,也可以在服务器的错误日志记录中看到该错误提示。该提示类似于:

Class 'DOMDocument' not found in wordpress-importer/parsers.php on line 61

如果没有服务器错误日志的访问权限(比如在一个共享主机上),可以修改插件的源文件(比如通过 WordPress 管理后台的“插件” ——> “编辑”,如果是多站点模式的 WordPress 安装,则需要在“我的站点” ——> “管理网络”,然后“插件” ——> “编辑”来修改遇到问题的插件的源文件),将下面的 PHP 执行语句插入到插件源文件的开头:

ini_set('display_errors', 1);

注意上述语句必须在 <?php 和 ?> 之间。

然后重新执行遇到问题的操作,看看是否能看到错误提示。

对于本文开头提到的问题,wordpress-importer 需要 xml 支持。如果有服务器的管理权限,可以在服务器上查看是否安装了 DOM MODULE 扩展,

# php -m | grep xml
libxml
xml
xmlreader
xmlwriter

或者使用 php-info.php 来查看(打开后 Ctrl+F 来查找 dom 或 xml)。

如果没有 libxml、xml、xmlreader、xmlwriter,则使用 wordpress-importer 导入文章的时候会报错,错误提示如前所示;或者操作执行后遭遇空白页面。正常情况下,使用 wordpress-importer 导入文章后应该会提示选择如何处理导入文章的作者。

解决办法就是安装 DOM 模块。如果没有服务器管理权限,则需要联系服务器管理员。

以管理员身份登录服务器后,执行以下指令。在 CentOS / RHEL / OpenSUSE 上,

# yum install php-xml

在 Ubuntu / Debian 上,

# apt-get install php5-dom

然后重启 Apache 服务

service httpd graceful

重新执行之前遇到问题的操作,比如在 WordPress 中导入文章,应该就正常了。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/wordpress-importer-blank-page/>。转载请保留此信息及相应链接。

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>