一般的Magento开发流程是:先在本地上修改模板和上传数据,然后把文件和数据库上传到服务器,由于本地环境和服务器环境有一些差异,所以上传后可能导致一些问题。
上传到服务器后修改app/etc/config.xml 文件里的数据库用户名,数据库和密码,然后清空 var/cache文件夹下的所有文件,最后修改core_config_data的两个记录域名地址的记录:
update core_config_data set value=”http://你的网址” where path=”web/unsecure/base_url” or path=”web/secure/base_url”;
(当然这些工作可以在本地做好在上传到服务器)。如果这些工作都做好了,后台还是进不去,
“Error: 404 Not Found”
通过查看Magento系统日志(var/log/system.log)
2011-03-20T15:13:20+00:00 ERR (3): Recoverable Error: Argument 1 passed to
Mage_Core_Model_Store::setWebsite() must be an instance of Mage_Core_Model_Website, null given, called in /var/www/html/website/shop/app/code/core/Mage/Core/Model/App.php on line 591 and defined in /var/www/html/website/shop/app/code/core/Mage/Core/Model/Store.php on line 292
2011-03-20T15:13:20+00:00 ERR (3): Recoverable Error: Argument 1 passed to Mage_Core_Model_Store_Group::setWebsite() must be an instance of Mage_Core_Model_Website, null given, called in /var/www/html/website/shop/app/code/core/Mage/Core/Model/App.php on line 611 and defined in /var/www/html/website/shop/app/code/core/Mage/Core/Model/Store/Group.php on line 227
通过日志发现后台(Admin)的 store_id 和 website_id 应该设置为 0,所以我们需要工作修改相应的值,执行下面的SQL语句:
SET FOREIGN_KEY_CHECKS=0; UPDATE `core_store` SET store_id = 0 WHERE code='admin'; UPDATE `core_store_group` SET group_id = 0 WHERE name='Default'; UPDATE `core_website` SET website_id = 0 WHERE code='admin'; UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN'; SET FOREIGN_KEY_CHECKS=1;
完成后再次清空系统缓存后台就可以进去了。