gpt4 book ai didi

php - CHttpRequest 及其行为没有名为 "getRawBody"的方法或闭包 (Yii v1.1.8)

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:08:49 27 4
gpt4 key购买 nike

我正在运行 Yii v1.1.8(不是我知道的最新版本,但它是一个遗留项目)。运行以下代码时出现以下错误?

CHttpRequest and its behaviors do not have a method or closure named "getRawBody".

我运行的代码如下:

function actionDoSomething() {
$requestBody = Yii::app()->request->getRawBody();
}

我可以看到 RawBody() 函数从 v1.1.13 开始可用 - 所以我保证我的版本不应该有任何问题吗?关于为什么我会收到此错误的任何想法? http://www.yiiframework.com/doc/api/1.1/CHttpRequest#getRawBody-detail

最佳答案

如评论中所述,yii 版本不能使用此方法,因此您应该扩展 CHttpRequest 以添加它:

components 文件夹中创建一个 HttpRequest 文件

class HttpRequest extends CHttpRequest
{

/**
* Returns the raw HTTP request body.
* @return string the request body
* @since 1.1.13
*/
public function getRawBody()
{
static $rawBody;
if($rawBody===null)
$rawBody=file_get_contents('php://input');
return $rawBody;
}
}

并在您的配置文件中指定必须使用的请求组件

'components' => array(
'request'=>array(
'class' => 'HttpRequest',
),
),

关于php - CHttpRequest 及其行为没有名为 "getRawBody"的方法或闭包 (Yii v1.1.8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com