嘿,我正试图在EngineYard上推出Magento。一切正常,除了我试图找到一种方法来确定你当前所处的环境并为它设置动态数据库配置。
基本上是这样的:
if($_SERVER['PHP_ENV' == 'development'){
// Use a different database config
}
在Cakephp,Yii等其他框架中,这是微不足道的,但是我找不到任何关于如何为Magento执行此操作的具体内容。
有人能指出我正确的方向让这个工作吗?只是试图避免必须来回切换数据库连接变量。
答案 0 :(得分:1)
Devato,我在服务器上设置了环境,效果很好。
例如,如果您使用APACHE:
<VirtualHost *:80>
....
<Directory "/your_path_root/">
SetEnv APPLICATION_ENV "development"
...
</Directory>
</VirtualHost>
或者如果您使用的是Nginx(例如/etc/nginx/sites-available/my_website.conf):
location ~ \.php$ {
...
fastcgi_param APPLICATION_ENV development;
...
}
然后在您的应用程序中,您可以这样检查:
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
然后你就有了常量的APPLICATION_ENV作为env configs的钩子。
我希望它有所帮助!