zoukankan      html  css  js  c++  java
  • 自定判断代码的执行环境

    web程序的开发一般经历三个环境 开发(DEBUG)测试(LAUNCHING)生产(ONLINE)

    如何来自动区分三个环境呢?

    代码一般有两种执行方式 cgi、cli

    1、对于cgi可以在web服务器中设置参数,然后在 php中用 $_SERVER 来获取

      nginx:

      apache

    php代码中判断

    if(isset($_SERVER['debug']))
    {
        define('DEBUG', true);
        echo 'DEBUG';
    }elseif(isset($_SERVER['launching'])){
        define('LAUNCHING', true);
        echo 'LAUNCHING';
    }else{
        define('ONLINE', true);
        echo 'ONLINE';
    }

    2、对于cli可以讲变量放到php.ini中,然后用 parse_ini_file 函数来解析(注:ini_get 是获取不到自定义在php.ini中的下标的

    示例:

      php.ini中

    [env]
    launching=true ;true或On(on不区分大小写)获取后都是字符串1
    debug=true
    online=true

      php代码中

    //获取加载的php文件路径
    $ini_path = php_ini_loaded_file();
    
    $ini_vars_arr = parse_ini_file($ini_path, true);
    eee($ini_vars_arr['env']);
    if(!empty($ini_vars_arr['env']['debug']))
    {
        define('DEBUG', true);
        echo 'DEBUG';
    }elseif(!empty($ini_vars_arr['env']['launching'])){
        define('LAUNCHING', true);
        echo 'LAUNCHING';
    }else{
        define('ONLINE', true);
        echo 'ONLINE';
    }

    其他方式

      思想:根据服务器的某些特征信息,如IP 等信息区分

          或者读取一个脱离框架的固定位置的文件(如 php.ini中)

  • 相关阅读:
    JavaScript 位运算总结&拾遗
    leetcode
    leetcode
    【位运算经典应用】 寻找那个唯一的数
    归并排序 JavaScript 实现
    【位运算经典应用】 求二进制逆序
    Odoo仪表盘详解
    Odoo启动运行参数(script运行参数,不是运行配置文件)
    Odoo中的self详解
    【Odoo 8开发教程】第二章:Odoo生产环境部署设置
  • 原文地址:https://www.cnblogs.com/siqi/p/3838773.html
Copyright © 2011-2022 走看看