在 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”的主要内容,如果未能解决你的问题,请参考以下文章
在自定义类下拉菜单 Xcode 8.3.2 中找不到自定义控制器类
在提供的 URL 中找不到 WordPress.com 博客或外部站点提要
在链配置的命名空间 App\Entity [Symfony 5.3][PHPUnit 8.5] 中找不到类 Mock_*