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

Laravel邮件配置为日志文件时出现数据库表不存在错误求助

解决Laravel密码重置时password_resets表不存在的问题

嗨,我来帮你理清这个问题~你遇到的错误和邮件驱动改成log其实没有直接关系,原因是Laravel的密码重置流程本身就依赖password_resets表来存储重置令牌信息——不管你用SMTP还是Log驱动发送邮件,系统都会先在这个表里写入重置记录,当用户完成密码重置后,又会删除这条记录,所以现在的问题是你的数据库里缺少这个必要的表。

下面是具体的解决步骤:

  • 第一步:确认并创建迁移文件
    先去项目的database/migrations目录下看看有没有类似xxxx_xx_xx_xxxxxx_create_password_resets_table.php的迁移文件。如果没有,就用这条命令生成:

    php artisan make:migration create_password_resets_table
    

    打开生成的迁移文件,把内容替换成Laravel默认的密码重置表结构:

    <?php
    
    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;
    
    return new class extends Migration
    {
        public function up()
        {
            Schema::create('password_resets', function (Blueprint $table) {
                $table->string('email')->index();
                $table->string('token');
                $table->timestamp('created_at')->nullable();
            });
        }
    
        public function down()
        {
            Schema::dropIfExists('password_resets');
        }
    };
    
  • 第二步:执行数据库迁移
    在终端运行这条命令,让Laravel帮你创建这个表:

    php artisan migrate
    

执行完这两步后,再去测试密码重置功能,就不会再出现表不存在的错误了,同时重置邮件也会正常输出到项目的日志文件里~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:37:27