使用Zend框架设置环境(生产/暂存/开发)的标准做法是使用Apache配置中的SetEnv
(或.htaccess
)来设置APPLICATION_ENV
。这显然适用于web请求,但是运行命令行脚本(仍然是应用程序的一部分,使用相同的引导,并依赖于正确的APPLICATION_ENV
)呢?
有什么最佳实践吗?现在我只是在我的cli
目录下放置一个.environment.php
文件-如果它存在(类似于.htaccess
我猜),它被包括在内,并且可以用来设置环境。
从终端
对于(linux)命令行使用,您可以在~/.bashrc
export APPLICATION_ENV=development
或者在/etc/profile
中添加一行,为所有用户设置环境变量。
查看更多信息:
- 如何设置Windows 7环境变量
- 如何设置Linux环境变量
来自crontab
Cron使用一个干净/空的环境,并且不会为APPLICATION_ENV或其他环境变量查看/etc/profile
或~/.bashrc
。
在crontab中定义环境变量:
APPLICATION_ENV=development
0 0 * * * /usr/bin/php /path/to/your_script.php
查看更多信息:
- Cron和Crontab的用法和示例
您也可以运行脚本
APPLICATION_ENV="local" php cli.php