设置命令行脚本的Zend APPLICATION_ENV


Setting Zend APPLICATION_ENV for Command Line Scripts

使用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