【问题标题】:Different urls for development and production用于开发和生产的不同 url
【发布时间】:2017-07-27 14:01:53
【问题描述】:

我正在尝试使用 NGINX 建立一个 CodeIgniter 项目。但是,它是一个已经在线的网站,例如test.com。这意味着该项目也有$config['base_url'] = 'test.com'。但是当我想设置一个 NGINX 服务器块时,我必须根据this post 定义与base_url 中的域相同的服务器名称。但是,我希望有 url test.dev 用于开发,test.com 应该只是链接到在线网站。我如何做到这一点?

【问题讨论】:

    标签: linux codeigniter nginx


    【解决方案1】:

    设置您的 ENVIRONMENT 变量。 https://www.codeigniter.com/user_guide/general/environments.html 为了您的生产

     define('ENVIRONMENT','production');
    

    为了发展

     define('ENVIRONMENT','production');
    

    在您的配置文件中,您可以像这样检查或任何变量

    if(ENVIRONMENT == 'development'){
        $config['base_url'] = 'test.dev';
    }else{
        $config['base_url'] = 'test.com';
    }
    

    【讨论】:

    • 我试过这个,但目前我的 test.dev 给出了“问题加载页面”。 access.logerror.log 也没有显示任何请求。我的/etc/nginx/sites-available/test.dev 文件就像原始帖子中的链接中显示的那样。我还创建了指向sites-enabled 的符号链接。我做错了什么?
    • 127.0.0.1 test.com 添加到我的/etc/hosts 文件会导致de“欢迎使用nginx!”当我尝试访问 test.com 时的网站。换句话说,它现在重定向到默认页面。
    • 我认为这可能是您的虚拟主机设置问题。 stackoverflow.com/questions/15489919/…
    【解决方案2】:

    在 CI 中,您可以为所使用的每个环境定义一个 config.php 文件。 在您的config 文件夹中,创建一个development 文件夹,在其中放置一个config.php 文件,其中包含您需要的base_url。然后,在该环境中,CI 将使用该新文件而不是主 config.php 文件。

    【讨论】:

    • 显然在此之前我对 nginx 有不同的问题。有关更多详细信息,请参阅@shafiq 的答案。
    【解决方案3】:

    创建环境。 Handling Multiple Environments

    在你的 index.php 中找到一行写着

    //define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
    

    在该行下检查 dirname 并粘贴此代码

    switch(dirname(__FILE__))
    {
    case 'Path\of\your\live\server\folder':
        define('ENVIRONMENT','production');
    break;
    
    case 'path\of\your\local\folder':
        define('ENVIRONMENT','development');
    break;
    }
    

    现在您有一个全局变量 ENVIRONMENT,它具有生产或开发的值。您可以在此变量上放置一个开关,并在 config.php 中为 base_url 赋值,或者在 database.php 中为 DB 凭据选择活动组。

    【讨论】:

    • 显然在此之前我对 nginx 有不同的问题。有关更多详细信息,请参阅@shafiq 他的答案。
    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 2016-06-04
    • 2014-08-28
    • 1970-01-01
    • 2016-04-20
    • 2019-11-10
    • 2015-11-18
    • 2015-10-13
    相关资源
    最近更新 更多