Magento中的/app/code/core/Mage/Core/Model/Resource/Resource.php上的致命错误 [英] Fatal error on /app/code/core/Mage/Core/Model/Resource/Resource.php in Magento
问题描述
只需将Magento安装从1.5升级到1.6,并出现以下错误:
Just upgraded a Magento install from 1.5 to 1.6, and left with this error:
致命错误:在非对象中调用成员函数insert() /hsphere/local/home/t21004/XXXXXXXXXXXXX.com/app/code/core/Mage/Core/Model/Resource/Resource.php 在第133行
Fatal error: Call to a member function insert() on a non-object in /hsphere/local/home/t21004/XXXXXXXXXXXXX.com/app/code/core/Mage/Core/Model/Resource/Resource.php on line 133
第133行的内容如下:
The contents of line 133 are as below:
return $this->_getWriteAdapter()->insert($this->getMainTable(), $dbModuleInfo);
config.xml:
config.xml :
<?xml version="1.0"?>
<!--
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Core
* @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
-->
<config>
<global>
<install>
<date/>
</install>
<resources>
<default_setup>
<connection>
<host>localhost</host>
<username/>
<password/>
<dbname>magento</dbname>
<model>mysql4</model>
<initStatements>SET NAMES utf8</initStatements>
<type>pdo_mysql</type>
<active>0</active>
</connection>
</default_setup>
<default_write>
<connection>
<use>default_setup</use>
</connection>
</default_write>
<default_read>
<connection>
<use>default_setup</use>
</connection>
</default_read>
<core_setup>
<setup>
<module>Mage_Core</module>
</setup>
<connection>
<use>default_setup</use>
</connection>
</core_setup>
<core_write>
<connection>
<use>default_write</use>
</connection>
</core_write>
<core_read>
<connection>
<use>default_read</use>
</connection>
</core_read>
</resources>
<resource>
<connection>
<types>
<pdo_mysql>
<adapter>Varien_Db_Adapter_Pdo_Mysql</adapter>
<class>Mage_Core_Model_Resource_Type_Db_Pdo_Mysql</class>
<compatibleMode>1</compatibleMode>
</pdo_mysql>
</types>
</connection>
</resource>
<models>
<varien>
<class>Varien</class>
</varien>
<core>
<class>Mage_Core_Model</class>
<resourceModel>core_resource</resourceModel>
</core>
<core_resource>
<class>Mage_Core_Model_Resource</class>
<deprecatedNode>core_mysql4</deprecatedNode>
<entities>
<config_data>
<table>core_config_data</table>
</config_data>
<website>
<table>core_website</table>
</website>
<store>
<table>core_store</table>
</store>
<resource>
<table>core_resource</table>
</resource>
<cache>
<table>core_cache</table>
</cache>
<cache_tag>
<table>core_cache_tag</table>
</cache_tag>
<cache_option>
<table>core_cache_option</table>
</cache_option>
</entities>
</core_resource>
</models>
</global>
<default>
<system>
<filesystem>
<base>{{root_dir}}</base>
<app>{{root_dir}}/app</app>
<code>{{app_dir}}/code</code>
<design>{{app_dir}}/design</design>
<locale>{{app_dir}}/locale</locale>
<etc>{{app_dir}}/etc</etc>
<media>{{root_dir}}/media</media>
<upload>{{root_dir}}/media/upload</upload>
<skin>{{root_dir}}/skin</skin>
<var>{{var_dir}}</var>
<cache>{{var_dir}}/cache</cache>
<session>{{var_dir}}/session</session>
<tmp>{{var_dir}}/tmp</tmp>
<pear>{{var_dir}}/pear</pear>
<export>{{var_dir}}/export</export>
</filesystem>
</system>
<general>
<locale>
<code>en_US</code>
<timezone>America/Los_Angeles</timezone>
</locale>
</general>
</default>
<varien>
<class>Varien</class>
</varien>
</config>
和local.xml:
and local.xml :
<?xml version="1.0"?>
<!--
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Core
* @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
-->
<config>
<global>
<install>
<date><![CDATA[Tue, 26 Apr 2011 15:59:54 +0000]]></date>
</install>
<crypt>
<key><![CDATA[XXXXXXXXXXXXXXXXXXXXXXXXXXXX]]></key>
</crypt>
<disable_local_modules>false</disable_local_modules>
<resources>
<db>
<table_prefix><![CDATA[]]></table_prefix>
</db>
<default_setup>
<connection>
<host><![CDATA[XXXXXXXXX]]></host>
<username><![CDATA[XXXXXXXXXX]]></username>
<password><![CDATA[XXXXXXXXXX]]></password>
<dbname><![CDATA[XXXXXXX]]></dbname>
<active>1</active>
</connection>
</default_setup>
</resources>
<session_save><![CDATA[files]]></session_save>
</global>
<admin>
<routers>
<adminhtml>
<args>
<frontName><![CDATA[admin]]></frontName>
</args>
</adminhtml>
</routers>
</admin>
</config>
推荐答案
此错误归结为配置问题.安装模型正在尝试安装/升级安装中的某些模块,但在找不到资源的写连接时失败.这似乎表明配置损坏的两个位置之一:全局配置(/app/etc/*.xml)或特定的模块配置(模块中的etc/config.xml).
This error boils down to a config problem. The setup model is trying to install/upgrade some module in your install and failing when it cannot find a write connection for the resource. This would seem to indicate one of two places that has a broken config: The global config (/app/etc/*.xml) or a specific module config (etc/config.xml in the module).
问题模块可能有一个config节/config/global/resources,其中包含对建立/读取/写入连接的引用.检查是否是这种情况,以及写连接的引用是否正确.如果不是特定模块,请检查全局资源core_(read | write | setup)和default_(read | write | setup)的正确性.
The problem module may have a config section /config/global/resources that contains references to setup/read/write connections. Check if that is the case and if the reference for the write connection is correct. If it's not a specific module, check the global resources core_(read|write|setup) and default_(read|write|setup) for correctness.
这篇关于Magento中的/app/code/core/Mage/Core/Model/Resource/Resource.php上的致命错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!