dsd*_*dsd 23 php codeigniter-3
我看到在他们的默认安装中,他们的index.php有这样的:
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
Run Code Online (Sandbox Code Playgroud)
为什么会CI_ENV曾经已经在内部设置$_SERVER阵列?
Mac*_*eeE 38
正如奥利弗所描述的那样; 它是适用于多种环境的特殊用例..htaccess在进入代码之前,先通过开发,测试和生产进行拆分.要配置:
<IfModule mod_env.c>
SetEnv CI_ENV development
</IfModule>
Run Code Online (Sandbox Code Playgroud)
<IfModule mod_env.c>
SetEnv CI_ENV testing
</IfModule>
Run Code Online (Sandbox Code Playgroud)
<IfModule mod_env.c>
SetEnv CI_ENV production
</IfModule>
Run Code Online (Sandbox Code Playgroud)
除非有一些人工干预,否则你认为它永远不会改变.关于此问题的文档不多:
"可以在.htaccess文件中设置此服务器变量,或使用SetEnv设置Apache配置.可以为nginx和其他服务器使用替代方法,或者可以完全删除此逻辑并根据服务器的IP地址设置常量."
来源:使用环境常数
以防万一您使用的是 nginx,以下是您必须在 vhosts 配置中添加的配置:
server {
location ~ \.php$ {
fastcgi_param CI_ENV production;
}
Run Code Online (Sandbox Code Playgroud)
保存并运行 nginx 语法检查(只是为了避免你诅咒我):
nginx -t
Run Code Online (Sandbox Code Playgroud)
如果您遇到问题或找不到参数,可以按照以下答案进行操作: Nginx 变量类似于 Apache 中的 SetEnv?
| 归档时间: |
|
| 查看次数: |
11126 次 |
| 最近记录: |