Magento:自定义模块适用于本地主机但不适用于服务器

Magento: Custom module works in localhost but not in server

使用 magento 1.9 我有一个自定义模块应该出现在产品视图中,它在我本地主机的 xampp 服务器上工作正常,但是当我将模块文件上传到服务器时它不起作用,尽管它在系统 > 配置禁用模块输出中显示为启用。 是我的代码还是服务器?

这是在csharls_productmeasure.xml里面的app\etc\modules

<?xml version="1.0" encoding="UTF-8"?>
    <config>
        <modules>
            <csharls_productmeasure>
                <active>true</active>
                <codePool>local</codePool>
            </csharls_productmeasure>
        </modules>
    </config>

这是config.xml里面的app\code\local\csharls\productmeasure\etc

<?xml version="1.0" encoding="UTF-8"?>
 <config>
    <modules>
        <csharls_productmeasure>
        <version>0.0.1</version>
        </csharls_productmeasure>
    </modules>
    <global>
        <models>
            <productmeasure>
                <class>csharls_productmeasure_Model</class>
            </productmeasure>
        </models>
        <blocks>
            <productmeasure>
                <class>csharls_productmeasure_Block</class>
            </productmeasure>
        </blocks>   
        <events>            
          <sales_quote_add_item>
           <observers>
             <productmeasure>
                  <type>singleton</type>
                  <class>csharls_productmeasure_Model_Observer</class>
                    <method>updatePrice</method>
                  </productmeasure>
              </observers>
           </sales_quote_add_item>
       </events>
    </global>
    <frontend>
      <routers>
          <productmeasure>
                <use>standard</use>
                <args>
                    <module>csharls_productmeasure</module>
                    <frontName>productmeasure</frontName>
                </args>
            </productmeasure>
        </routers>
        <layout>
            <updates>
                <csharls_productmeasure>
                    <file>csharls_productmeasure.xml</file>
                </csharls_productmeasure>
            </updates>
        </layout>
    </frontend>
</config>

第 1 步:请在服务器中许可您的文件 755

第 2 步:检查您的 php 本地版本和实时版本是否相同

第 3 步:刷新缓存

问题出现在服务器中,因为它在 linux 上运行,而我的 XAMPP 本地主机在 Windows 上。 Windows 不区分大小写,而 linux 区分大小写。因此,当我创建文件夹和文件时,我将名称写成小写以避免出现这种情况,但具有讽刺意味的是,这就是问题所在,在 Magento 中,首字母必须是大写字母,

所以我的模块文件夹是这样用小写字母写的:

csharls/productmeasure/... 它适用于 windows 但不适用于 linux.

我把它改成了首字母大写这样的:

Csharls/Productmeasure/... 这适用于 windows 和 linux.

还更改了 Blocks、controllers、Model 文件的命名空间,所有文件的名称都必须是首字母大写字母,.xml 文件中的所有引用也是如此。

模板 csharls_prodcutmeasure.xml 文件和布局 csharls_productmeasure.phtml 文件,我唯一没有重命名的文件。