在我们的application.ini文件中,我们设置了两个环境变量: 开发和生产。
每个ENV的所有数据库详细信息都在那里配置。
是否可以在application.ini上为每个环境定义ROOT_DIR?
更新
在我的zend项目根源上,我有一个名为
的文件config_root.php
并且,我有:
define('ROOT_DIR',"/home/myuser/www/www");
每次我必须从开发切换到生产时,我必须回想一下,不要在生产方面覆盖同一个文件,因为在那里,这个文件是不同的,反之亦然:
define('ROOT_DIR',"/home/productionuser/public_html/");
这个config_root方法是我用过的东西。 此时,我正试图改变这里的工作方式,所以我已经在我的apache配置上定义了一些文档根源。 (我之前没有的东西)。
所以,在继续之前,一个问题到了:
1 - 由于我正在使用apache文档根配置,我是否可以删除此ROOT_DIR定义?
如果我仍然需要使用此ROOT_DIR定义,那么:
2 - 我们可以在application.ini中处理这个问题并删除对config_root.php的需求吗?
由于
答案 0 :(得分:1)
回答你的问题:
- 由于我正在使用apache文档根配置,我是否可以删除此ROOT_DIR定义?
醇>
是的,我会这么认为。你说你在每个ZF项目的根目录中都有config_root.php,所以你不能把ROOT_DIR设置为./
(或者可能是./public
,如果那是你想要的那个。
例如,Zend_Tool创建的默认public / index.php包含以下行:
defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
这将设置一个常量APPLICATION_PATH
,其中包含当前项目的应用程序目录的完整路径,而不必对此路径进行硬编码。
2 - 我们可以在application.ini中处理这个问题并删除对config_root.php的需求吗?
我不确定application.ini是否适合它,但你当然不需要单独的config_root.php文件。如果您可以使用上面示例中的相对路径,那么您应该能够将其构建到应用程序代码中,而无需为生产和开发提供单独的值。