php – Magento扩展404错误

前端之家收集整理的这篇文章主要介绍了php – Magento扩展404错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我很难过!

我有一个自定义扩展,在Mac Leopard本地工作得很漂亮,但是在推送到主机(Centos Linux)后,当我尝试调用前端路由器时,我收到Magento 404错误.

例如这个URL:
[domain] /shop/index.PHP/bbyd_sync/index/在现场生成404,但在本地返回“done”.

这是我的config.xml:

我的IndexController.php

class Bbyd_Sync_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction() {
        echo "done";
    }
}

我的app / code / local结构(我在这里使用字母大小写):

Bbyd
    Sync
        controllers
            IndexController.php
        etc
            config.xml
            system.xml
        Helper
            Data.php
        Model
            Run.php
            Mysql4
                Run.php
        sql
            sync_setup
                mysql4-install-0.1.0.php

当然我也有/app/code/etc/modules/Bbyd_Sync.xml.

关于Mac和Mac之间发生的问题,任何人都有一些明智的想法. Magento的Linux平台?也许是文件/目录的大写?

顺便说一下,这是Magento 1.5.

任何帮助表示赞赏…(我的第一个要求所以请温柔!)

最佳答案
步骤0:清除实时服务器上的缓存和会话.

步骤1:使用免费/开源Module List Module检查您的模块是否已安装

步骤2:使用以下方法删除一些调试代码. var_dumps将告诉您Magento的路由器在您的模块中寻找哪些文件/类,但无法找到.

File: app/code/core/Mage/Core/Controller/Varien/Router/Standard.PHP

protected function _validateControllerClassName($realModule,$controller)
{
    $controllerFileName = $this->getControllerFileName($realModule,$controller);
    if (!$this->validateControllerFileName($controllerFileName)) {
        var_dump($controllerFileName);
        return false;
    }

    $controllerClassName = $this->getControllerClassName($realModule,$controller);
    if (!$controllerClassName) {
        var_dump($controllerFileName);
        return false;
    }

    // include controller file if needed
    if (!$this->_includeControllerClass($controllerFileName,$controllerClassName)) {
        var_dump($controllerFileName);
        return false;
    }

    return $controllerClassName;
}   

第3步:调试which 404 page it is.

猜你在找的Linux相关文章