• 框架外的PHP读取.env文件(php5.6、7.3可用版)


    背景:由于项目需要,在框架外(public文件夹下)新建了一个原生的php文件,由于不知道怎么解决

    “框架外的php文件,怎么使用DB操作”

    于是上网搜索了一早上也没能又方法

    于是我使用了,原生连接方法

    //连接数据库
    $conn=mysqli_connect('localhost','demo','3KHC999zLX666','demo') or die("連接失敗");
    // $conn = new PDO('mysql:host=localhost;dbname=xcx_club', 'xcx_m_club', 'yyyyyy');
    mysqli_query($conn, "set names utf8");
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    后来由于客户说,最好就是指定一个文件,用env的就行,我上网找了很多,最终解决办法如下:
    (我的环境 nginx php7,3)


    .env文件

    APP_DEBUG = true
    
    [APP]
    DEFAULT_TIMEZONE = Asia/Taipei
    
    [DATABASE]
    TYPE = mysql
    HOSTNAME = 127.0.0.1
    DATABASE = booking885_com
    USERNAME = booking885_com
    PASSWORD = 3KHC26dzLXd222
    HOSTPORT = 3306
    CHARSET = utf8mb4
    DEBUG = true
    authcode = j1g8KSrkbPLts9rNiM
    
    [LANG]
    default_lang = zh-cn
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    index.php文件

     $val) {
                $prefix = static::ENV_PREFIX . strtoupper($key);
                if (is_array($val)) {
                    foreach ($val as $k => $v) {
                        $item = $prefix . '_' . strtoupper($k);
                        putenv("$item=$v");
                    }
                } else {
                    putenv("$prefix=$val");
                }
            }
        }
    
        /**
         * 获取环境变量值
         * @access public
         * @param string $name 环境变量名(支持二级 . 号分割)
         * @param string $default 默认值
         * @return mixed
         */
        public static function get($name, $default = null)
        {
            $result = getenv(static::ENV_PREFIX . strtoupper(str_replace('.', '_', $name)));
    
            if (false !== $result) {
                if ('false' === $result) {
                    $result = false;
                } elseif ('true' === $result) {
                    $result = true;
                }
                return $result;
            }
            return $default;
        }
    }
    Env::loadFile("../../.env"); /*调用配置文件*/
    
    $app_api_url = Env::get('database.hostname'); /*调用变量方法*/
    var_dump($app_api_url);
    echo($app_api_url);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    这里如果出现这样的问题
    在这里插入图片描述
    只需要在宝塔上的php相应的版本上把禁用函数去除即可

    在这里插入图片描述
    在访问即可
    在这里插入图片描述

    其他的参数自己根据代码获取,代码简单,自己读吧

    最后

    ❤️❤️❤️❤️❤️❤️ 🥳🥳🥳 茫茫人海千千万万,感谢这一刻你看到了我的文章,感谢观赏,大家好呀,欢迎加入人工智能交流群(看我的动态),更多周边福利等你🥳🥳🥳

    在这里插入图片描述

    ✨✨欢迎订阅本专栏或者关注我,大家一起努力每天一题算法题✨✨

    ❤️❤️❤️ 最后,希望我的这篇文章能对你的有所帮助!

    愿自己还有你在未来的日子,保持学习,保持进步,保持热爱,奔赴山海! ❤️❤️❤️

  • 相关阅读:
    贪心 Leetcode 53 最大子数组和
    时序数据库-4-[IoTDB]的docker安装和python3操作
    mysql备份与恢复
    【蜂鸟E203内核解析】Chap.4 累加运算NICE协处理器的设计
    基于FPGA的I2C接口控制器(包含单字节和多字节读写)
    在职场上有多少人输在了不会用Python数据分析
    动态密码 作为程序员之网络安全一定要看
    【计算机网络】HTTP协议详解
    java分布式事务
    SPEOS—光学产品设计及仿真工具
  • 原文地址:https://blog.csdn.net/qq_35230125/article/details/126225409