【问题标题】:Laravel Curl ErrorLaravel 卷曲错误
【发布时间】:2016-03-25 23:24:16
【问题描述】:

我正在尝试从 Laravel 5 控制器使用 Curl 发送 curl 请求。

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

有人能指出我的错误吗?

【问题讨论】:

  • 你确定你有curl php 模块吗?检查php -m的输出。

标签: php laravel curl


【解决方案1】:

似乎没有启用 curl。大多数 Windows 配置的说明:

找到您的php.ini,打开它并找到extension=php_curl.dll 并取消注释此行(删除;)。然后重启 Apache。

在 Linux 线上是extension=curl.so

【讨论】:

    【解决方案2】:

    Controller 位于命名空间下,因此您应该使用 \curl_init() 而不是 curl_init()(还应启用 curl,注意其他 cmets)。此外,您不需要使用curl,因为您使用的是Laravel,然后使用Guzzle Http Client。检查this tutorial 了解更多信息。这是一个使用Guzzle 发出帖子请求的非常简化的示例:

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

    Guzzle 将使用curl(默认)或任何它需要使用的东西。

    【讨论】:

      猜你喜欢
      • 2018-04-27
      • 1970-01-01
      • 2017-07-06
      • 2015-04-18
      • 2018-11-27
      • 1970-01-01
      • 2016-06-30
      • 2015-12-12
      • 2015-05-31
      相关资源
      最近更新 更多