Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento 2控制器Post抛出404错误_Php_Magento2 - Fatal编程技术网

Php Magento 2控制器Post抛出404错误

Php Magento 2控制器Post抛出404错误,php,magento2,Php,Magento2,在Magento 2中,我遇到了一个在现有路线上添加新操作的问题 我已经创建了一个新模块,注册了它,并创建了一个扩展现有“添加到购物车”功能的新操作。我在一个现有的项目中使用了它,但不得不将它移植到一个新的安装中。现在,当我尝试发布到路径:/checkout/cart/addbulk时,它抛出一个404。GET请求将命中execute方法并创建日志条目 以下是模块的组成部分 app/code/Test/Checkout/etc/module.xml <?xml version="1.0"?

在Magento 2中,我遇到了一个在现有路线上添加新操作的问题

我已经创建了一个新模块,注册了它,并创建了一个扩展现有“添加到购物车”功能的新操作。我在一个现有的项目中使用了它,但不得不将它移植到一个新的安装中。现在,当我尝试发布到路径:
/checkout/cart/addbulk
时,它抛出一个404。GET请求将命中execute方法并创建日志条目

以下是模块的组成部分

app/code/Test/Checkout/etc/module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Test_Checkout" schema_version="2.0.0" setup_version="2.0.3">
        <sequence>
            <module name="Magento_Checkout"/>
        </sequence>
    </module>
</config>

app/code/Test/Checkout/etc/frontend/routes.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
    <router id="standard">
        <route id="checkout" frontName="checkout">
            <module name="Test_Checkout" />
        </route>
    </router>
</config>

app/code/Test/Checkout/Controller/Cart/Addbulk.php

<?php
namespace Test\Checkout\Controller\Cart;

class Addbulk extends \Magento\Checkout\Controller\Cart\Add
{

    public function execute()
    {
        $items = $this->getRequest()->getParam('item', []);
        $this->_objectManager->get('Psr\Log\LoggerInterface')>addDebug('Posting data to addBulk');

        ...

        return $this->_goBack();
    }
}

创建控制器后是否尝试过此操作

bin/magento setup:di:compile

或者启用
开发人员模式

表明环境本身已被破坏。我成功地在新安装的magento 2上安装了我的模块

bin/magento cache:disable
清除文件夹的内容

生成/编码生成/元数据


同时检查PHP-FPM或OPCACHE缓存。

您设置了什么部署模式?您是否也尝试过清除文件系统上的所有缓存文件+生成的代码文件?