具有codeigniter的多个环境

Kev*_*ith 6 codeigniter

我正在尝试通过使用多个环境来了解最佳行动方案,例如使用codeigniter开发,测试和生成我的应用程序.

截至目前,我的应用程序有一个文件夹.我看到在配置文件中讨论的地方为每个环境做一个文件夹,并在每个环境文件夹中放置数据库文件的副本.

这是处理多种环境的最佳方法吗?我问的原因是因为如果我在我的dev子域工作,我仍然需要重新上载到主根文件夹所有相同的文件.这是最好的工作流程吗?

所以基本上我有两个网站.

dev.siteurl.com siteurl.com

我正试图找出处理这个的最佳选择.因为我想知道我是否只需要将所有文件重新上载到主级别,以便它可以处理生产服务器或者有更简单的方法.

Dav*_*can 9

是的,它的工作方式是在你的/ application/config文件夹下,你创建一个名为development的额外嵌套文件夹,这样就可以了

/应用/配置/开发/

在开发中,您将放置database.php文件的副本并更改开发数据库设置

/application/config/development/database.php

那么你必须告诉codeigniter你在哪个版本,所以在你的基础根文件夹中编辑index.php:

的index.php

define('ENVIRONMENT', 'development');
Run Code Online (Sandbox Code Playgroud)

如果要使用/config/development/database.php,则会将环境更改为开发,如果要使用生产数据库,则会将环境更改为生产环境

编辑:CI TOC也有一个简短的部分解释:https://www.codeigniter.com/user_guide/general/environments.html


小智 7

我定义的index.php中envirement
这样做

if ($_SERVER['SERVER_NAME']=='siteurl.com')
   define('ENVIRONMENT', 'production');
else if ($_SERVER['SERVER_NAME']=='test.siteurl.com')
   define('ENVIRONMENT', 'testing');
else
   define('ENVIRONMENT', 'development');
Run Code Online (Sandbox Code Playgroud)

并根据ENVIRONMENT变量使用配置节