我为我的扩展创建了一个SQL安装脚本,它运行得很好。在关闭缓存时我正在开发扩展。当我打开缓存时,安装脚本无法运行,我无法解决原因。
我尝试通过管理面板清除所有Magento缓存,刷新缓存存储,手动删除magento / var / cache文件夹的内容,清除APC缓存,从命令行清除redis后端,重新启动PHP进程,没有任何工作。我设法让安装脚本运行的唯一方法是关闭缓存。
有谁知道为什么会发生这种情况?我正在使用Magento v1.4.0.0 RC1。
答案 0 :(得分:0)
安装脚本应该只运行一次,并且只有通过更新模块config.xml的版本告诉Magento这样做。此配置被缓存,因此清除所有缓存并重新加载页面......它应该运行安装脚本。
您可以随时重置Magento用于运行安装脚本的方式,方法是在数据库中重置模块的版本(在magento数据库的core_resource表中)。
答案 1 :(得分:0)
更新脚本由Mage_Core_Model_App :: _ initModules()方法运行,但仅在缓存为空或禁用时才运行。
因此,请确保在index.php中调用Mage :: run()之前不以任何方式访问模块配置。