当我在我的核心php文件中使用curl时,它对我来说很好,也得到了预期的结果。。。我的核心php代码是…
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://stage.auth.stunnerweb.com/index.php?r=site/getUser");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($curl);
echo $data; //here i am getting respond proper
在上面,我正在调用getUser函数,并从该函数得到响应。。。
但现在我的问题是,当我在我的任何Yii控制器中使用相同的代码时(试图在SiteController&controller中使用它),但它不起作用。。。
public function beforeAction()
{
if(!Yii::app()->user->isGuest)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL ,"http://stage.auth.stunnerweb.com/index.php?r=site/kalpit");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($curl);
echo $data;
}
else
return true;
}
在yii,我们不能这样用旋度吗?
你能建议我如何在yii中使用curl吗?
提前感谢
更好地使用yii-curl
设置说明
将Curl.php放入项目的protected/extensions文件夹在main.php中,将以下内容添加到"components"中:php
'curl' => array(
'class' => 'ext.Curl',
'options' => array(/.. additional curl options ../)
);
使用
获取具有默认参数的页面php
$output = Yii::app()->curl->get($url, $params);
// output will contain the result of the query
// $params - query that'll be appended to the url
将数据POST到页面php
$output = Yii::app()->curl->post($url, $data);
// $data - data that will be POSTed
以PUT数据php
$output = Yii::app()->curl->put($url, $data, $params);
// $data - data that will be sent in the body of the PUT
在GET、POST或PUT之前设置选项php
$output = Yii::app()->curl->setOption($name, $value)->get($url, $params);
// $name & $value - CURL options
$output = Yii::app()->curl->setOptions(array($name => $value))->get($get, $params);
// pass key value pairs containing the CURL options
您在beforeAction()
方法中运行代码,该方法根本不应该呈现任何数据。除此之外,如果当前用户是来宾,则不允许该方法返回任何。请阅读API相关文档。