- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我喜欢它在 Zend Framework 中的工作方式。通过检查我的 Controller 中的 APPLICATION_ENV 常量,我可以知道我当前使用的是哪个环境。
<VirtualHost *:80>
#ServerName
#DocumentRoot
SetEnv APPLICATION_ENV "development"
# Directory
</VirtualHost>
但不幸的是,我不能在我当前的项目中使用 ZF。我如何在我的 PHP 代码中检查这个环境变量?
最佳答案
自从 SetEnv设置 Apache 环境的值,你可以用
apache_getenv
— 获取 Apache subprocess_env 变量或者只是
getenv
— 获取环境变量的值如果您查看 ZF 项目中的 public/index.php
,您会看到 ZF 使用 getenv
:
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ?
getenv('APPLICATION_ENV') :
'production'));
一个经常使用的替代方法是从 PHP 读取主机名并相应地定义常量:
if(!defined('APPLICATION_ENV')) {
if(FALSE === stripos($_SERVER['SERVER_NAME'], 'www.yourdomain.com')) {
define(APPLICATION_ENV, 'development');
} else {
define(APPLICATION_ENV, 'production');
}
}
这样,您就完全不必依赖环境设置了。
关于php - 通过虚拟主机配置设置 Application_ENV 并在 PHP 中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378871/
使用 Zend Framework 设置环境(生产/暂存/开发)的标准做法是在 Apache 配置(或 .htaccess)中使用 SetEnv 来设置APPLICATION_ENV。这显然适用于 W
我喜欢它在 Zend Framework 中的工作方式。通过检查我的 Controller 中的 APPLICATION_ENV 常量,我可以知道我当前使用的是哪个环境。 #ServerNa
我喜欢它在 Zend Framework 中的工作方式。通过检查我的 Controller 中的 APPLICATION_ENV 常量,我可以知道我当前使用的是哪个环境。 #ServerNa
我的 htaccess 上有以下内容。 SetEnv APPLICATION_ENV development 当我将此文件传递给生产时,我会将其更改为: SetEnv APPLICATION_ENV
我是一名优秀的程序员,十分优秀!