在 Drupal 8 站点中找不到类“DOMDocument”

Posted

技术标签:

【中文标题】在 Drupal 8 站点中找不到类“DOMDocument”【英文标题】:class "DOMDocument" not found in a Drupal 8 site 【发布时间】:2018-02-21 02:50:59 【问题描述】:

我在我的 Drupal 8 站点的一个页面上发现了一个错误;当我访问它时它总是显示此消息错误:

Error: Class 'DOMDocument' not found in /var/www/vhosts/mysite/core/lib/Drupal/Component/Utility/html.php on line 286

我正在使用 Centos 6 并运行了以下命令:

    yum install php71w-xml
    sudo service httpd restart 

我在 php.ini 中验证:扩展 php 已启用 dom、xml、xmlreader、xmlwrite 但对我不起作用。

你能给我一个解决方案吗?我是 Drupal 8、php 7.1、apache2.2

【问题讨论】:

显示使用 DOMDocument 的代码。 在 Drupal 代码中。 Drupal 没有工作。它显示在 mysite/update.php 中:Drupal 要求您启用以下列表中的 PHP 扩展(有关更多信息,请参阅系统要求页面):dom 但 php-dom 已安装并在 php 中启用 我认为您安装了错误的 php-xml。尝试做yum install php-xml 然后重新启动apache。这个线程可能会帮助laracasts.com/discuss/channels/servers/… 发生这种情况是因为本地机器 (dev) php 版本与 centOS 服务器不同。 【参考方案1】:

我在使用 php 7.x 的 Ubuntu 上遇到了同样的问题,并通过以下方式对其进行了修复。

sudo apt-get install php-xml

完成后,重新启动您的网络服务器

Source: https://laracasts.com/discuss/channels/servers/how-do-i-install-the-dom-extension-for-php7

【讨论】:

【参考方案2】:

您需要安装 XML 扩展

$ sudo apt-get update 
$ sudo apt-get install php5.6-xml //for PHP 5.6

然后重启apache

$ sudo service apache2 restart

如果使用 nginx

nginx -s reload

【讨论】:

以上是关于在 Drupal 8 站点中找不到类“DOMDocument”的主要内容,如果未能解决你的问题,请参考以下文章

Drupal EVA模块:视图中找不到实体内容设置

在自定义类下拉菜单 Xcode 8.3.2 中找不到自定义控制器类

在提供的 URL 中找不到 WordPress.com 博客或外部站点提要

Drupal 8 如何在子站点上使用不同的主题

在链配置的命名空间 App\Entity [Symfony 5.3][PHPUnit 8.5] 中找不到类 Mock_*

text 如何更新Rootid Drupal 8站点(Pantheon一键更新合并冲突)