Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.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 在symfony生产环境中使用HTTP DELETE_Php_Rest_Symfony_Routing_Symfony Routing - Fatal编程技术网

Php 在symfony生产环境中使用HTTP DELETE

Php 在symfony生产环境中使用HTTP DELETE,php,rest,symfony,routing,symfony-routing,Php,Rest,Symfony,Routing,Symfony Routing,我有一个基于symfony2.3的restapi。 它在调试模式下工作得很好,但如果我切换到prod env,我总是会在删除Http请求时收到一个501响应错误,消息是“此方法可能未使用”(get工作正常) 我检查了配置,得到: config.yml: http_方法_覆盖=>true 以下是我的路线: test_delete: path: /categories defaults: { _controller: OMGAPIBundle:GET\GetCategory:de

我有一个基于symfony2.3的restapi。 它在调试模式下工作得很好,但如果我切换到prod env,我总是会在删除Http请求时收到一个501响应错误,消息是“此方法可能未使用”(get工作正常)

我检查了配置,得到:

config.yml:

http_方法_覆盖=>true

以下是我的路线:

test_delete:
    path:   /categories
    defaults: { _controller: OMGAPIBundle:GET\GetCategory:deleteTest }
    requirements:
        _method:  DELETE
和我的控制器:

public function deleteTestAction(){
    return new Response(1);
}
试试这个:

test_delete:
    pattern: /categories
    defaults: { _controller: OMGAPIBundle:YourControllerName:deleteTest }
    methods: [DELETE]
显然,您的控制器必须这样编写:

class YourControllerNameController{
    ...
    public function deleteTestAction(){
        return new Response(1);
    }
    ...
}

并确保您正在发送删除请求…

这是一个错误的配置。现在可以了:)


=>

您是否正在使用端口
80
?不确定它是否有助于您的配置文件,但您应该使用
方法:[DELETE]
而不是
要求:_方法:DELETE
来设置允许/要求的方法。@Qoop我试图替换要求:_方法:DELETE by方法:[DELETE]甚至尝试了两种方法:p没有任何变化:s@ra_htial看起来很愚蠢,我甚至不知道应该在哪里检查:p,但我们使用的是https,所以我不确定。你的控制器路由正确吗?如果更改请求以获取,它是否有效?