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

Ubuntu下Laravel出现Class 'DOMDocument' not found错误及邮件发送问题

解决Ubuntu环境Laravel项目的两个问题:DOMDocument缺失与Gmail邮件发送失败

一、修复Class 'DOMDocument' not found错误

DOMDocument是PHP的XML扩展组件,Ubuntu下PHP 7.4需安装对应扩展包:

  • 执行安装命令:
    sudo apt-get update
    sudo apt-get install php7.4-xml
    
  • 安装完成后重启Web服务及PHP-FPM(按需选择):
    # Apache环境
    sudo systemctl restart apache2
    # Nginx+PHP-FPM环境
    sudo systemctl restart nginx
    sudo systemctl restart php7.4-fpm
    
  • 验证扩展:执行php -m | grep dom,输出dom则说明安装成功。

二、解决Gmail SMTP邮件发送失败问题

按以下步骤调整配置及权限:

  1. 更新.env配置项
    Laravel新版本中MAIL_DRIVER已被MAIL_MAILER替代,修改配置:
    MAIL_MAILER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=465
    MAIL_USERNAME=你的Gmail邮箱地址
    MAIL_PASSWORD=应用专用密码
    MAIL_ENCRYPTION=ssl
    MAIL_FROM_ADDRESS=你的Gmail邮箱地址
    MAIL_FROM_NAME="${APP_NAME}"
    
  2. 生成Gmail应用专用密码
    若账号开启两步验证,不能使用常规登录密码,需生成应用专用密码:
    • 登录Google账号进入「安全」设置
    • 找到「应用专用密码」,选择「邮件」及「其他」设备类型
    • 生成后复制密码,替换.env中的MAIL_PASSWORD
  3. 清除Laravel配置缓存
    修改配置后执行命令确保生效:
    php artisan config:clear
    php artisan cache:clear
    
  4. 测试邮件发送
    通过Artisan命令快速验证:
    php artisan tinker
    Mail::raw('测试邮件内容', function($message) {
        $message->to('接收邮箱地址')->subject('测试邮件');
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:30:47