zoukankan      html  css  js  c++  java
  • fuelphp获取开发环境

    fuelphp是php的一个轻量级的框架

    fuelphp有development, staging, 和production三种模式,即Fuel::DEVELOPMENT, Fuel::STAGING, Fuel::PRODUCTION三个常量

    不同的模式分别有不同的数据库配置文件

    那到底使用哪种模式以及数据库配置文件呢?这是由Fuel::$env 来决定的

    而Fuel::$env又是在 /fuel/app/bootstrap.php中定义的

    Fuel::$env = Arr::get($_SERVER, 'FUEL_ENV', Arr::get($_ENV, 'FUEL_ENV', getenv('FUEL_ENV') ?: Fuel::DEVELOPMENT));

    可以看出Fuel::$env首先从$_SERVER中取FUEL_ENV,取不到再从$_ENV中取,最后再通过getenv来取。如果都取不到,就默认为development模式

    如果在apache配置文件或者.htaccess中设置了环境变量,通过$_SERVER就可以取到,至于$_ENV的用处还不太清楚,有待查证。

    既然可以通过$_SERVER可以获取到apache配置文件或者.htaccess中设置的环境变量,那为什么最后还写了个getenv呢?

    那是因为除了apache可以运行php文件,批处理时的定时处理cron也会运行php文件,而cron运行php文件时,是取不到$_SERVER的,也就是取不到apache配置文件中的环境变量,

    所以要通过getenv的方式来获取shell进程中的环境变量来区分模式,从而连接相应的数据库

    关于/fuel/app/bootstrap.php文件,不管是通过浏览器的访问,还是cron定时处理的 php /var/www/borg/oil refine 任务文件 方式的访问,都会导入bootstrap.php

    所以我们只要在apache配置文件和/etc/environment中设置了FUEL_ENV的环境变量,不管是哪种方式运行php,都可以取到相应的模式

    也可以不在/etc/environment中设置,而在其他文件中(如/etc/profile或者自定义的文件)设置,但是需要先导入脚本文件,然后来执行php

    apache配置文件

    <VirtualHost *>
      ServerName borg-localhost
      DocumentRoot /var/www/borg/public
      DirectoryIndex index.html index.php index.cgi
      SetEnv FUEL_ENV development
    
     <Directory "/var/www/borg/public">
        AllowOverride All
        #AllowOverride AuthConfig
        Options Indexes FollowSymLinks
        Require all granted
     </Directory>

    /etc/environment

    FUEL_ENV=development
    #FUEL_ENV=staging
    #FUEL_ENV=production

    在其他文件中(如/etc/profile或者自定义的文件)

    #!/bin/bash
    
    #. /etc/profile
    #source ~/.bash_profile
    . /var/www/borg/app/tasks/borg_env.sh //自定义文件,可以通过git管理 php_command="php /var/www/borg/oil refine test" resutl=$($php_command)
  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/gaoBlog/p/12290315.html
Copyright © 2011-2022 走看看