2016-03-25 5 views
1

Laravel 5コントローラからCurlでカールリクエストを送信しようとしています。Laravel Curl Error

public function funcname(){ 
$ch = curl_init(); 
$message = http_build_query([]) 
curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch,CURLOPT_POST, 1); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $message); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 
curl_close($ch); 

応答は次のとおりです。

Call to undefined function App\Http\Controllers\curl_init() 

誰かが間違いに私を指すもらえますか?

+1

'curl' phpモジュールをお持ちですか? 'php -m'の出力を確認してください。 –

答えて

0

カールが有効になっていないようです。ほとんどのWindows設定のための指示:

を見つけて、あなたのphp.ini、それを開いて、extension=php_curl.dllを見つけて(;を削除します)、この行のコメントを解除します。その後、Apacheを再起動します。

Linuxの場合、extension=curl.soです。

0

Controllerは名前空間の下にあるため、curl_init()の代わりに\curl_init()を使用する必要があります(curlも有効にする必要があります)。また、を使用する必要はありません。Laravelを使用し、Guzzle Http Clientを使用しているためです。詳細については、this tutorialを確認してください。これはGuzzleを使用してPOSTリクエストを作ることは非常に簡単な例です:

$client = new \GuzzleHttp\Client(); 

$response = $client->post("http://example.com", [ 
    'headers' => ['X-Foo' => 'Bar'], 
    'body' => ['field_name' => 'value'] 
]); 

var_dump($response->getStatusCode()); 

がつがつ食うには(デフォルトで)curlを使用するか、それが使用する必要があるものは何でも。