Magento:哪个文件检测到local.xml?

时间:2012-03-13 01:30:25

标签: svn magento permissions

我正在将Magento从一台服务器迁移到另一台服务器。 我创建了local.xml文件,但Magento继续重定向到安装页面。

我在进行SVN结账时遇到了一些所有者/团体问题,所以我怀疑Magento无法阅读local.xml

问题:该脚本的哪个文件/部分执行local.xml的检测,因此我可以模拟是否可以访问同一环境local.xml

由于

2 个答案:

答案 0 :(得分:2)

当然,解决您的权限问题至关重要。所有文件都应该由与rwx一样运行PHP实例的用户拥有。

您可以通过以下方式临时测试:

chmod -R 777 /path/to/my/magento/store/*

在迁移商店时,还要确保刷新以下目录:

./var/cache/*
./var/session/*

要回答你的问题,在以下函数的+640行读取./app/Mage.php中的local.xml:

public static function isInstalled($options = array())
{
    if (self::$_isInstalled === null) {
        self::setRoot();

        if (is_string($options)) {
            $options = array('etc_dir' => $options);
        }
        $etcDir = 'etc';
        if (!empty($options['etc_dir'])) {
            $etcDir = $options['etc_dir'];
        }
        $localConfigFile = self::getRoot() . DS . $etcDir . DS . 'local.xml';

        self::$_isInstalled = false;

        if (is_readable($localConfigFile)) {
            $localConfig = simplexml_load_file($localConfigFile);
            date_default_timezone_set('UTC');
            if (($date = $localConfig->global->install->date) && strtotime($date)) {
                self::$_isInstalled = true;
            }
        }
    }
    return self::$_isInstalled;
}

答案 1 :(得分:0)

您无需为新服务器创建任何单独的“local.xml”文件。将旧的“local.xml”复制到新的Web服务器,然后编辑该文件以将以下变量更改为新Web服务器的值: -

  • host //新数据库主机名,例如“localhost”或为新Web服务器数据库提供的其他值
  • username //新数据库用户名
  • password //新数据库密码
  • dbname //新数据库名称

更改上述节点的“local.xml”文件中的值后,保存它。

同时删除完整的“var”文件夹,然后开始为迁移的Magento使用新的Web服务器。

希望它有所帮助。