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

安装Ushahidi 5.3.1遇Database未配置错误求助

Ushahidi 5.3.1 安装报错:Database [<databasename>] not configured 解决方案

问题概述

在共享Web服务器上安装Ushahidi 5.3.1,已完成文件解压、带权限空白MySQL数据库创建步骤,配置.env文件后,在./platform目录执行php artisan migrate时触发错误:Database [<databasename>] not configured.

当前配置信息

.env 文件配置(敏感信息已隐去)

DB_HOST=localhost
DB_DATABASE=<databasename>
DB_USERNAME=<databasename>
DB_PASSWORD=<databasepassword>

APP_ENV=local
APP_DEBUG=false
APP_KEY=<32characterkey>
APP_TIMEZONE=UTC

CACHE_DRIVER=array
QUEUE_DRIVER=sync

服务器环境

  • PHP版本:7.4
  • 官方安装文档要求的所有PHP模块已启用
  • 数据库用户拥有目标数据库的全部操作权限
  • 操作方式:cPanel面板及cPanel终端

已尝试的无效操作

  • 在phpMyAdmin中重新创建数据库及关联用户
  • 修改.env中的API密钥等非核心配置项
  • 执行php artisan cache:clear清除缓存
  • 重新生成.env文件
  • 重新安装Phinx

错误日志核心信息

Laravel日志显示,框架无法找到指定数据库的配置项,触发InvalidArgumentException: Database [<databasename>] not configured.错误,错误源位于ConnectionFactory.php的make方法中。

针对性解决建议

  1. 确认.env文件的位置与加载路径
    确保.env文件存放在./platform目录(Laravel项目根目录)下,可在终端执行ls -a查看该目录是否包含.env文件。部分共享服务器的路径识别规则特殊,需避免将.env放在上级目录。

  2. 补全数据库配置项
    Ushahidi基于Laravel构建,默认需要完整的MySQL配置项,可在.env中补充以下内容:

    DB_CONNECTION=mysql
    DB_PORT=3306
    

    若共享服务器使用非默认MySQL端口,可在cPanel数据库管理页面获取实际端口;若服务器要求使用本地套接字连接,将DB_HOST替换为MySQL套接字文件路径(可通过cPanel查看)。

  3. 验证基础数据库连接
    在./platform目录创建临时测试文件test-db.php,内容如下:

    <?php
    $host = 'localhost';
    $dbname = '<databasename>';
    $user = '<databasename>';
    $pass = '<databasepassword>';
    
    try {
        $pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
        echo "数据库连接成功";
    } catch(PDOException $e) {
        echo "连接失败: " . $e->getMessage();
    }
    ?>
    

    执行php test-db.php,确认数据库本身的连接权限、地址是否正常,排除数据库层面的问题。

  4. 强制Laravel重新加载配置
    执行以下命令清除缓存并重置配置:

    php artisan cache:clear
    php artisan config:clear
    

    若处于生产环境(APP_ENV=production),可额外执行php artisan config:cache,但本地环境建议仅执行前两个命令。

  5. 检查共享服务器PHP函数限制
    Laravel加载.env依赖putenv函数,部分共享服务器会禁用此函数。可在终端执行php -i | grep putenv查看状态,若显示禁用,需联系主机服务商开启,或使用cPanel提供的环境变量配置功能替代.env文件。

  6. 确认PHP版本一致性
    部分cPanel服务器支持多PHP版本切换,需确保终端使用的PHP版本与网站运行环境一致。执行php -v查看终端PHP版本,若与网站配置的7.4不符,需在cPanel中切换终端对应的PHP版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:40:19