在Digital Ocean App Platform部署CodeIgniter4的环境变量配置问题求助
方案1:使用CodeIgniter4原生环境变量映射规则(无需修改代码)
CodeIgniter4内置了配置项和环境变量的自动映射逻辑,天然适配仅允许字母、数字、下划线的环境变量命名规范,映射规则为:
- 将带点的配置项的层级符号
.替换为下划线,所有字符转为大写 - 配置所属的配置文件名作为前缀,与转换后的配置项名用下划线拼接
你需要设置的app.baseURL是app配置文件下的baseURL项,对应符合Digital Ocean命名规范的环境变量名为 APP_BASEURL。你直接在平台后台的环境变量配置页添加该变量,赋值为你的站点根URL即可,CodeIgniter4会自动识别该变量并覆盖默认的baseURL配置,无需修改任何项目代码。
方案2:手动修改配置自定义环境变量名
如果你需要使用自定义的环境变量名,可通过修改配置文件实现:
- 在Digital Ocean后台添加符合命名规范的环境变量,比如命名为
SITE_BASE_URL,赋值为你的站点根URL - 打开项目中的
app/Config/App.php文件,找到$baseURL属性的定义,修改为通过env()函数读取自定义环境变量:
// 原默认配置 // public string $baseURL = 'http://localhost:8080/'; // 修改后的配置,第二个参数为本地开发环境的默认 fallback 值 public string $baseURL = env('SITE_BASE_URL', 'http://localhost:8080/');
- 提交代码后重新部署应用即可生效。
验证方法
部署完成后,你可以在任意控制器中加入测试代码确认配置是否生效:
echo config('App')->baseURL;
内容的提问来源于stack exchange,提问作者Allan
相关产品推荐
相关产品推荐

