2

我在我的网站上遇到这个问题 Mage 注册表项“_singleton/core/resource”已经存在,请帮助我如何解决这个错误。

我检查了文件夹和文件权限
,将 lib/Zend/Cache/Backend/File.php 更改为 'cache_dir' => null,更改为 'cache_dir' => 'tmp',index.php 中的更改注释了该行

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}

进行这些更改后,它运行良好,今天它再次停止并显示相同的问题

我已经尝试了每一种方法,但没有成功。

4

5 回答 5

8

我之前偶然发现了这个问题,这是因为缓存。如果您仍然可以访问 Magento 管理面板,请去刷新您的缓存存储(系统 -> 缓存管理页面顶部附近的两个主要按钮)。

您还可以参考此博客文章以获取有关缓存问题的更多帮助。

于 2012-05-29T08:10:47.147 回答
3

清除编译器缓存并在 Magento 的后端打开它是非常重要的。

清除缓存

SSH:查找 ./var/cache -type f -delete FTP:mrm -r ./var/cache ;mkdir ./var/cache


禁用/清除 Magento 编译

SSH: php -f shell/compiler.php -- 禁用 php -f shell/compiler.php -- 清除 FTP: mv ./includes ./includes.unused

于 2013-05-19T17:32:49.497 回答
2

将此文件放在您的 Magento 根文件夹中,即:clear-cache.php并通过终端执行它。

php /home/magento/www/clear-cache.php

这将清除所有缓存并重建所有索引。

修复了您在 Magento Enterprise 1.11.2 中描述的问题,当我无法加载任何页面或进入管理员并且删除/var/cache并没有解决问题时。

<?php
// Include Magento
require_once dirname(__FILE__).'/app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
// Set user admin session
$userModel = Mage::getModel('admin/user');
$userModel->setUserId(0);
Mage::getSingleton('admin/session')->setUser($userModel);
// Call Magento clean cache action
Mage::app()->cleanCache();
// Enable all cache types
$enable = array();
foreach(Mage::helper('core')->getCacheTypes() as $type => $label){
    $enable[$type] = 1;
}
Mage::app()->saveUseCache($enable);
// Refresh cache's
echo 'Refreshing cache...';
try {
    Mage::getSingleton('catalog/url')->refreshRewrites();
    echo 'Catalog Rewrites was refreshed successfully';
} catch ( Exception $e ) {
    echo 'Error in Catalog Rewrites: '.$e->getMessage();
}
// This one caused an error for me - you can try enable it
/*try {
    Mage::getSingleton('catalog/index')->rebuild();
    echo 'Catalog Index was rebuilt successfully';
} catch ( Exception $e ) {
    echo 'Error in Catalog Index: '.$e->getMessage();
}*/
try {
    $flag = Mage::getModel('catalogindex/catalog_index_flag')->loadSelf();
    if ( $flag->getState() == Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_RUNNING ) {
        $kill = Mage::getModel('catalogindex/catalog_index_kill_flag')->loadSelf();
        $kill->setFlagData($flag->getFlagData())->save();
    }
    $flag->setState(Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_QUEUED)->save();
    Mage::getSingleton('catalogindex/indexer')->plainReindex();
    echo 'Layered Navigation Indices was refreshed successfully';
} catch ( Exception $e ) {
    echo 'Error in Layered Navigation Indices: '.$e->getMessage();
}
try {
    Mage::getModel('catalog/product_image')->clearCache();
    echo 'Image cache was cleared successfully';
} catch ( Exception $e ) {
    echo 'Error in Image cache: '.$e->getMessage();
}
try {
    Mage::getSingleton('catalogsearch/fulltext')->rebuildIndex();
    echo 'Search Index was rebuilded successfully';
} catch ( Exception $e ) {
    echo 'Error in Search Index: '.$e->getMessage();
}
try {
    Mage::getSingleton('cataloginventory/stock_status')->rebuild();
    echo 'CatalogInventory Stock Status was rebuilded successfully';
} catch ( Exception $e ) {
    echo 'Error in CatalogInventory Stock Status: '.$e->getMessage();
}
try {
    Mage::getResourceModel('catalog/category_flat')->rebuild();
    echo 'Flat Catalog Category was rebuilt successfully';
} catch ( Exception $e ) {
    echo 'Error in Flat Catalog Category: '.$e->getMessage();
}
try {
    Mage::getResourceModel('catalog/product_flat_indexer')->rebuild();
    echo 'Flat Catalog Product was rebuilt successfully';
} catch ( Exception $e ) {
    echo 'Error in Flat Catalog Product: '.$e->getMessage();
}
echo 'Cache cleared';
// Rebuild indexes
echo 'Rebuilding indexes';
for ($i = 1; $i <= 9; $i++) {
    $process = Mage::getModel('index/process')->load($i);
    try {
        $process->reindexAll();
    } catch ( Exception $e ) {
        echo 'Error rebuilding index '.$i.': '.$e->getMessage();
    }
}
echo 'Indexes rebuilt';
echo 'Finished!';
于 2012-08-17T06:22:50.937 回答
2

index.php这个直接放在后面require_once $mageFilename;

$app = Mage::app();
$cache = $app->getCache();
$cache->clean();

刷新损坏的网页,然后删除代码。

于 2015-06-18T12:35:02.627 回答
0

我可以看到这是相当老的线程,但我今天遇到了类似的问题。我在 catalog_product_prepare_save 和 catalog_product_save_after 上有两个观察者,两者都是在一次 php 执行中触发的。

事实证明,我们使用 ProductObserver.php 文件(XXXX_Persona_Model_ProductObserver 类)中的方法作为侦听器。它在 Windows 和 Mac 上运行良好,但在生产(Linux)上出现类似消息失败。你猜对了——Linux 区分大小写。将文件名更正为 Productobserver.php(以及相应的类名)为我们解决了这个问题。

于 2015-05-29T14:13:13.697 回答