You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel发送验证邮件时出现class 'DOMDocument' not found错误求助

解决Laravel发送验证邮件时出现的class 'DOMDocument' not found错误

这个问题我之前帮不少开发者踩过坑——本质上是你的PHP环境缺少了DOMDocument扩展,而Laravel渲染HTML格式的验证邮件时,刚好依赖这个扩展来处理DOM解析与操作。下面分不同操作系统环境给你具体的解决步骤:

Linux 环境(Ubuntu/Debian 系列)

  • 先根据你的PHP版本安装对应的XML扩展包(这包含了DOMDocument),比如PHP8.1的话执行:
    sudo apt-get install php8.1-xml
    
    注意把8.1换成你实际使用的PHP版本(比如7.4、8.2)。
  • 安装完成后,重启你的Web服务器:
    • Apache:sudo systemctl restart apache2
    • Nginx:sudo systemctl restart nginx
  • 如果你的环境用了PHP-FPM,也需要重启它:
    sudo systemctl restart php8.1-fpm
    

Linux 环境(CentOS/RHEL 系列)

  • 安装XML扩展包:
    sudo yum install php-xml
    
    若需指定PHP版本,比如PHP8.1则用php81-xml。
  • 重启Web服务:
    • Apache:sudo systemctl restart httpd
    • Nginx:sudo systemctl restart nginx
  • 重启PHP-FPM(如果使用的话):
    sudo systemctl restart php-fpm
    

Windows 环境

  • 找到你的PHP配置文件php.ini(通常在XAMPP/WAMP的php目录下)。
  • 搜索找到;extension=dom这一行,去掉前面的分号,改成:
    extension=dom
    
  • 重启你的Web服务器(比如XAMPP里的Apache服务)。

额外检查步骤

  • 可以创建一个phpinfo.php文件,内容如下:
    <?php phpinfo(); ?>
    
    访问这个文件,搜索DOMDocument,确认扩展已经成功启用。
  • 如果你用Docker容器部署,需要在Dockerfile里添加安装XML扩展的命令,比如:
    RUN apt-get update && apt-get install -y php-xml
    

Laravel的邮件组件在渲染Blade模板为HTML邮件时,会用到DOMDocument来处理HTML结构,所以这个扩展是刚需。按照上面的步骤操作后,应该就能正常发送验证邮件了。

内容的提问来源于stack exchange,提问作者Ana Jentel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:10:44