关于根目录下新增.env文件之后,数据库迁移无法解析env()的问题 [ 技术分享 ]
新建一个用于引入的文件
我的文件名:migrate_analysis_env.php (我的路径为:common文件下。可以根据意愿自行修改)
<?php
global $ENV_DATA;
/**
* 读取文件 .env 文件的全部内容,以数组形式储存。
*/
$file_path = dirname(__DIR__).'/.env';
$ENV_DATA = file($file_path);
/**
* 对 .env 文件中的 配置信息,进行分离组装。
*/
if(!empty($ENV_DATA)){
foreach ($ENV_DATA as $value) {
/**
* 移除数组中,注释的信息
*/
if(strstr($value,'#') == false && trim($value) != '' && strstr($value,'=') == true) $this_data[] = $value;
}
foreach ($this_data as $v) {
/**
* 对于配置信息赋值,进行键值分离操作
*/
if(substr_count($v,'=') == 1){
$value = explode('=', $v);
$regroup[trim($value[0])] = trim($value[1]);
}else
$regroup[trim(substr($v,0,strpos($v,'=')))] = trim(substr($v,strpos($v,'=')+1));
}
$ENV_DATA = $regroup;
unset($file_path, $this_data, $value, $regroup, $v);
}
/**
* [env]
* @author:cnpscy <[2278757482@qq.com]>
* @chineseAnnotation:统一方法名,获取配置信息
* @englishAnnotation:Unified method name to obtain configuration information
* @param [type] $key [description]
* @param [type] $default [description]
* @return [type] [description]
*/
function env($key, $default = null){
global $ENV_DATA;
return empty(empty($key) ? $default : $key) ? '' : $ENV_DATA[$key];
}
在项目根目录下,打开 yii 文件
插入:
/**
* 添加 .env 文件之后,数据库迁移无法解析 env() 函数
* 引入文件,已经对 .env 做了解析!
*/
require_once(__DIR__ . '/common/migrate_analysis_env.php');
配置完成!!!
共 0 条回复
没有找到数据。
小丑路人
注册时间:2016-12-11
最后登录:2023-07-26
在线时长:7小时32分
最后登录:2023-07-26
在线时长:7小时32分
- 粉丝1
- 金钱510
- 威望20
- 积分780