2016-03-25 30 views
1

Bir Laravel 5 denetleyicisinden Curl ile bir kıvrılma isteği göndermeye çalışıyorum.Laravel Curl Hatası

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); 

yanıttır:

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

birisi yanlışlıkla beni işaret?

+1

'Curl' php modülüne sahip olduğunuzdan emin misiniz? Php -m'nin çıktısını kontrol edin. –

cevap

0

Curl etkin değil gibi görünüyor. Çoğu Windows yapılandırması için yönerge:

php.ini'u bulun, açın ve extension=php_curl.dll'u bulun ve bu satırı kaldırın (;'u kaldırın). Ardından Apache'yi yeniden başlatın.

Linux hattında extension=curl.so bulunmaktadır.

0

Controller bir ad alanı altında olduğundan curl_init() yerine \curl_init() kullanmalısınız (Ayrıca curl etkinleştirilmiş olmalı, diğer yorumlara dikkat edin). Ayrıca, Laravel kullanıyorsunuz, daha sonra Guzzle Http Client'u kullanmanız nedeniyle curl'u kullanmanız gerekmez. Daha fazla bilgi için this tutorial kontrol edin. kullanması gereken neyse

$client = new \GuzzleHttp\Client(); 

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

var_dump($response->getStatusCode()); 

guzzle kullanacak curl (varsayılan) ya da: Bu bir post Guzzle kullanarak talepte bulunmak için çok basitleştirilmiş bir örnektir.