针对Apache和CLI的强大开发/生产开关

时间:2014-04-08 10:43:46

标签: php apache cakephp

我在数据库.php getenv()中使用enter code here看到了多个q& a,以便从 dev db 动态切换到 prod db 。只要apir是由Apache引起的,因为这是一个Apache env var。这真的很好。

但是我在运行控制台脚本(例如EmailQueue)时很难使用它。

我使用的是:

        if (getenv('CAKEPHP_DEVELOPMENT')) {
        $this->default = $this->development;
    } else {
        $this->default = $this->production;
    }

有没有办法检测我在Apache和CLI上运行的服务器?似乎没有在CLI模式中定义$_SERVER['SERVER_NAME']

谢谢, 拉斯

1 个答案:

答案 0 :(得分:0)

我使用http://www.dereuromark.de/2012/02/25/dynamic-database-switching/ 这对CLI和Web非常有效。

它使用domain表示网络,path表示CLI确定当前环境。