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

Laravel 8连接MySQL失败,用户注册API返回500内部服务器错误

问题分析与解决

错误根源

报错Database connection [moneyway] not configured的核心原因:你的Client模型指定使用名为moneyway的数据库连接,但config/database.php中仅配置了默认的mysql连接,没有名为moneyway的连接项。

解决方法

方法一:修正模型的连接配置

直接将Client.php中的连接名称改为Laravel已配置好的mysql:

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Client extends Model
{
    protected $connection = 'mysql'; // 将moneyway改为mysql
    protected $table = 'users';
}

方法二:新增moneyway连接配置

如果确实需要单独的moneyway连接,在config/database.php的connections数组中添加该配置:

'connections' => [
    // 保留原有mysql配置
    'mysql' => [
        // ... 你的现有配置内容
    ],
    // 新增moneyway连接
    'moneyway' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'moneyway'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
    ],
],

额外注意事项

  1. 清除配置缓存:修改配置后执行以下命令,确保新配置生效:
php artisan config:clear
php artisan cache:clear
  1. 密码加密存储:当前代码直接明文存储密码存在安全风险,建议使用加密处理:
$new_client->password= Hash::make($request->{"password"});
// 需在文件顶部引入Hash类:use Illuminate\Support\Facades\Hash;
  1. 跨域处理:确保Laravel配置了CORS规则,避免前端请求被拦截,可借助barryvdh/laravel-cors扩展实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:42:27