PHP REQUEST_METHOD POST 变成GET
PHP REQUEST_METHOD POST turns into GET
我正在尝试扩展一个使用 CodeIgniter 1.7(我知道...)的旧 Web 应用程序并且 运行 遇到了一些麻烦。我希望某条路线只能通过 POST 请求访问。所以在函数的顶部我有以下内容;
if ($_SERVER['REQUEST_METHOD'] != 'POST')
die ('Wrong request method: ' . $_SERVER['REQUEST_METHOD']);
本地,在 PHP 7.0.14 和 PHP 的内置网络服务器上,这工作正常。然而,在生产中,在 CPanel 管理的服务器 运行 PHP 5.4.25 上,它没有。
当使用 Postman 向我的路线发送 POST 请求时,我得到以下信息;
Wrong request method: GET
PUT, PATCH, DELETE, ...请求都被正确识别。然而,POST 请求似乎神奇地变成了 GET 请求。
POST 我随请求发送的数据似乎也消失了,在 $_POST
或 $_GET
中都找不到.
它似乎与 CodeIgniter 框架无关,但是当我调用框架外的文件时,我得到了相同的结果。
有什么想法吗?
我正在向 http://domain whcih was set up to redirect to http://www.domain 发出请求,结果将 POST 请求变成了 GET 请求。并且 Postman 不会通知用户此类重定向的发生。
如果您 运行 遇到这个问题,请务必检查是否发生了任何重定向。
我想知道为什么这只发生在 POST 请求中,而不是 PUT、PATCH、DELETE 等请求。
感谢 LSerni、Alex Blex 和 Vaviloff 为我指明了正确的方向。
我正在尝试扩展一个使用 CodeIgniter 1.7(我知道...)的旧 Web 应用程序并且 运行 遇到了一些麻烦。我希望某条路线只能通过 POST 请求访问。所以在函数的顶部我有以下内容;
if ($_SERVER['REQUEST_METHOD'] != 'POST')
die ('Wrong request method: ' . $_SERVER['REQUEST_METHOD']);
本地,在 PHP 7.0.14 和 PHP 的内置网络服务器上,这工作正常。然而,在生产中,在 CPanel 管理的服务器 运行 PHP 5.4.25 上,它没有。
当使用 Postman 向我的路线发送 POST 请求时,我得到以下信息;
Wrong request method: GET
PUT, PATCH, DELETE, ...请求都被正确识别。然而,POST 请求似乎神奇地变成了 GET 请求。
POST 我随请求发送的数据似乎也消失了,在 $_POST
或 $_GET
中都找不到.
它似乎与 CodeIgniter 框架无关,但是当我调用框架外的文件时,我得到了相同的结果。
有什么想法吗?
我正在向 http://domain whcih was set up to redirect to http://www.domain 发出请求,结果将 POST 请求变成了 GET 请求。并且 Postman 不会通知用户此类重定向的发生。
如果您 运行 遇到这个问题,请务必检查是否发生了任何重定向。
我想知道为什么这只发生在 POST 请求中,而不是 PUT、PATCH、DELETE 等请求。
感谢 LSerni、Alex Blex 和 Vaviloff 为我指明了正确的方向。