对于所有意图和目的,这应该是有效的..但它不是。
结构:
app / etc / modules / Company_Modulename.xml
<?xml version="1.0"?> <config> <modules> <Company_Modulename> <active>true</active> <codePool>community</codePool> <version>1.0.0</version> </Company_Modulename> </modules> </config>
app / code / community / Company / Modulename / etc / config.xml
<?xml version="1.0"?> <config> <modules> <Company_Modulename> <version>1.0.0</version> </Company_Modulename> </modules> <global> <helpers> <modulename> <class>Company_Modulename_Helper</class> </modulename> </helpers> </global> </config>
<?php class Company_Modulename_Helper_Data extends Mage_Core_Helper_Abstract { public function sayHello() { die('hello'); } }
... <?php Mage::helper('modulename')->sayHello(); ?> ...
这应该是“你好”这个词。相反,我得到了:
警告:include(Mage / Modulename / Helper / Data.php):无法打开 stream:没有这样的文件或目录 第94行/var/www/html/testing/lib/Varien/Autoload.php
为了以防万一,我已将所有模块文件的权限设置为777。 有什么想法吗?
编辑:我已经尝试将Data.php重命名为Helper.php(也修改了类名),并尝试使用Mage :: helper('modulename / helper') - &gt; ...按预期调用它 - 它抛出相同的错误,将它寻找的文件名改为Helper.php,但保持使用相同的路径。
关闭编译,禁用缓存(无论如何在每次测试之前清除缓存)
答案 0 :(得分:0)
发现问题。
www-data用户没有名称空间(公司)目录的权限。