如何正确使用Git。使用带有DEVELOPMENT,TESTING和PRODUCTION服务器的CodeIgniter

时间:2017-06-07 11:30:43

标签: php git codeigniter

基本上,我有一个文件index.php,每个服务器应该有不同的文件。该文件指示它所在的服务器。

它有这样的东西:

开发环境中:

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

TESTING 环境中:

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

PRODUCTION 环境中:

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

在没有Git触摸的情况下,在每台服务器上维护这些文件的正确方法是什么?

我现在已将该文件添加到.gitignore,并且我使用git rm --cached index.php然后使用git push origin master替换TESTING服务器并将stable替换为PRODUCTION服务器。

2 个答案:

答案 0 :(得分:3)

仅供参考,

如果您使用apache,则不必更改index.php文件,因为您可以使用htaccess文件来定义您的环境

例如:

SetEnvIf Host yourdevdomain$ CI_ENV=development
SetEnvIf Host yourtestdomain$ CI_ENV=testing
SetEnvIf Host example.com$ CI_ENV=production

在这种情况下,您可以在htaccess文件中设置所需的环境,并且不必担心使用不同环境中的不同文件覆盖某些内容。

  

我认为nginx也有一个选项

     

看看here

您可以从官方CI文档here获取更多信息。

答案 1 :(得分:0)

使用Apache,您可以设置CI_ENV,就像@sintakonte的答案一样。使用nginx和php-fpm,您可以像这样设置CI_ENV:

location ~ \.php {
    ....
    fastcgi_param CI_ENV production;
}

将index.php文件保留为默认文件。

干杯。