Codeigniter - 使用具有不同主机的环境

时间:2012-03-02 02:02:55

标签: codeigniter

我想知道是否有人可以帮助我。

我已经开始在使用CodeIgniter的网站上使用版本控制(git)。

每次我将文件从我的localhost主机传输到我的实时服务器时,我总是需要浏览所有文件并更改配置详细信息。

我遇到一篇帖子说我可以根据SERVER_NAME自动使用index.php文件中的ENVIRONMENT设置完成所有这些操作。

以前有人这样做过吗?如果是的话,是否可以让我知道它是如何正确完成的?

干杯,

3 个答案:

答案 0 :(得分:1)

尝试启动(index.php):

if ($_SERVER["HTTP_HOST"] == 'devserver1' || $_SERVER["HTTP_HOST"] == 'devserver2')
    define('ENVIRONMENT', 'development');
else
    define('ENVIRONMENT', 'production');

然后,无论何时需要,都要检查环境常量(例如,不同的数据库设置等)。对于localhost,只需检查服务器是否为“localhost”($_SERVER["HTTP_HOST"] == 'localhost'),或者您可能使用的虚拟主机名称。

答案 1 :(得分:0)

您可以随时使用环境变量

http://httpd.apache.org/docs/2.2/env.html

这将允许您获取环境,而不是对代码中的信息进行硬编码

这也可以帮助你

http://docstore.mik.ua/orelly/linux/apache/ch04_06.htm

答案 2 :(得分:0)

不确定你是否还需要这方面的帮助,但我不久前遇到了这个问题并发布了一个CodeIgniter模块,该模块旨在自动处理多个环境。

我自己插手是可耻的,但它为我节省了大量的编辑工作,并且可能会对将来阅读这篇文章的其他人有所帮助。

以下是Git回购的链接:https://github.com/jedkirby/ci-multi-environments这是对我制作模块的原因和方式的简要说明:http://jedkirby.com/blog/2012/11/codeigniter-multiple-development-environments