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 中导入文章,应该就正常了。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/wordpress-importer-blank-page/>。转载请保留此信息及相应链接。