基本上,我有一个文件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服务器。
答案 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文件保留为默认文件。
干杯。