• thinkphp不读取.env文件的键对值


    第一:$_ENV会为空,其原因通常是php的配置文件php.ini的配置项为:

    ;variables_order
    ;Default Value: “EGPCS”
    ;Development Value: “GPCS”
    ;Production Value: “GPCS”


    要想让$_ENV的值不为空:

    ;variables_order
    Default Value: “EGPCS”
    ;Development Value: “GPCS”
    ;Production Value: “GPCS”

    第二:

    Env不显示的问题,需要在base.php中 putenv的同时,将数据也写入$_ENV,就可以解决了

    打开thinkphp目录下的base.php文件修改。

    <?php
    // +----------------------------------------------------------------------
    // | ThinkPHP [ WE CAN DO IT JUST THINK ]
    // +----------------------------------------------------------------------
    // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
    // +----------------------------------------------------------------------
    // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
    // +----------------------------------------------------------------------
    // | Author: liu21st <liu21st@gmail.com>
    // +----------------------------------------------------------------------
    
    namespace think;
    
    use 	hinkEnv;
    // ThinkPHP 引导文件
    // 1. 加载基础文件
    require __DIR__ . '/base.php';
    
    if (is_file(ROOT_PATH . '.env')) {
        $env = parse_ini_file(ROOT_PATH . '.env', true);
    
        foreach ($env as $key => $val) {
            $name = ENV_PREFIX . strtoupper($key);
    
            if (is_array($val)) {
                foreach ($val as $k => $v) {
                    $item = $name . '_' . strtoupper($k);
                    putenv("$item=$v");
                }
            } else {
                putenv("$name=$val");
                //加入这一句
                $_ENV[$name]=$val;
            }
        }
    }
    
    // 2. 执行应用
    App::run()->send();

    .env在application同级目录,文件格式为

    status='dev'
    [database]
    
    hostname = localhost
    
    database = vxianfeng
    
    username = root
    
    password = root
    
    hostport = 3306
    
    prefix = vxf_
  • 相关阅读:
    CentOS 压缩(打包)和解压
    CentOS 文件及目录等
    CentOS 文本操作命令(cat more less head tail tr wc state cut diff touch)
    CentOS 显示历史执行过的命令以及用户历史命令缓存文件
    CentOS 查看系统内核和版本
    CentOS 设置环境变量
    迅雷thunder://协议解密
    Office2016自定义安装
    Windows 10中设置自动登录
    Linux安装aMule下载eDonkey200网络共享文件
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/11208507.html
Copyright © 2020-2023  润新知