4

所以,我正在尝试使用我的模块运行安装脚本。(Magento 1.7)我有这是我的模块 config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Sulman_Custompermissions>
            <version>1.0.0.0</version>
        </Sulman_Custompermissions>
    </modules>

    <global>
        <resources>
            <mymodule_setup>
                <setup>
                    <module>Sulman_Custompermissions</module>
                </setup>
            </mymodule_setup>
        </resources>
    </global>
</config>

这是我的安装脚本文件结构:/app/code/local/Sulman/Custompermissions/sql/mymodule_setup/install-1.0.0.0.php

然后在我的 install-1.0.0.0.php 脚本中简单地运行这个:

die('here');

问题是安装脚本似乎永远不会运行(没有死机)。 但是有一行正确插入到 core_resource 表中......有任何线索吗?谢谢

(ps,如果 core_resource 表中有记录,在我尝试运行脚本之前将其删除)

4

3 回答 3

4

基于您的模块的配置 XML 正在合并的事实(因此记录在 中core_resource),并假设您帖子中的 XML 是该内容的副本,有三种可能性:

  1. 文件系统层次结构:您的文件名、文件夹或文件夹结构有误
  2. 权限:PHP 不能include()获取您文件的内容
  3. 有重复的 config.xml 指定不同的子目录,并且该文件实际上没有被合并。

解决方案:

  1. 看,看,看
  2. 检查权限,直接测试脚本
  3. grep,破坏您正在工作的文件中的配置 XML,和/或转储相关 xpath 的配置 XML:

    echo Mage::getConfig()->getNode('modules/Sulman_Custompermissions/version');
    echo Mage::getConfig()->getNode('global/resources/mymodule_setup/setup/module');
    
于 2013-05-27T15:52:44.410 回答
0

将您的 config.xml 修改为 1.0.0.0

<global>
    <resources>
        <mymodule_setup>
            <setup>
                <module>Sulman_Custompermissions</module>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </mymodule_setup>
    </resources>
</global>

并将安装脚本文件名更改为mysql4-install-1.0.0.0.php并从表中删除条目core_resource并清除缓存并检查....

于 2013-05-27T15:50:46.023 回答
0

确保您的 config.xml 命名模块,因为它出现在您的 sql 目录中。对我来说,我有 sql->customizations_setup 并且在本地使用大写字母可以正常工作,如下所示:

    <Customizations_setup>
      <setup>
        <module>AMI_Customizations</module>
        <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
      </setup>
      <connection>
        <use>core_setup</use>
      </connection>
    </Customizations_setup>

但这只是因为我的本地机器不区分大小写。我的生产(linux)服务器区分大小写,它会在 core_resource 中创建条目 ok,但是从那里它不会创建 db 条目,直到我使 xml 与我的目录名称匹配,如下所示:

    <customizations_setup>
      <setup>
        <module>AMI_Customizations</module>
        <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
      </setup>
      <connection>
        <use>core_setup</use>
      </connection>
    </customizations_setup>
于 2016-08-31T13:15:38.220 回答