微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何配置CakePHP以检测我的开发/生产环境,还是仅保持配置文件不受版本控制?

我是一名RoR开发人员,但我目前正在与Cake PHP合作开展一个我无法调整服务器的项目.在我的Rails生产服务器中,Passenger设置为自动使用“生产”环境,覆盖本地应用程序设置.我想设置我的cakePHP应用程序来做同样的事情.你通常如何用CakePHP实现这一目标?您是否设置了域解析器,或者只是将core.PHP和database.PHP保留在版本控制之外?
提前致谢,
达维德
如果我正确理解了这个问题,那么这可能是你需要的:

Automatically choose database connections in CakePHP

简而言之,重写DATABASE_CONfig构造函数

class DATABASE_CONfig
{
    //initalize variable as null
    var $default=null;

    //set up connection details to use in Live production server
    var $prod = 
        array(
            // ...
        );

    // and details to use on your local machine for testing and development
    var $dev = 
        array(
            // ...
        );

    function __construct ()
    {       
        if(isset($_SERVER['SERVER_NAME'])){
            switch($_SERVER['SERVER_NAME']){
                case 'digbiz.localhost':
                    $this->default = $this->dev;
                    break;
                case 'digbiz.example.com':
                    $this->default = $this->prod;
                    break;
            }
        }
        else // we are likely baking,use our local db
        {
            $this->default = $this->dev;
        }
    }
}

原文地址:https://www.jb51.cc/php/136313.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐