尝试上传文件时请求超时

时间:2019-05-05 02:41:52

标签: laravel guzzle

我正在尝试使用Guzzle发出发布请求,发送一些参数和文件,但是当我运行应用程序时出现超时错误

我尝试从参数中删除文件,请求已正常发送

错误:

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN)
Maximum execution time of 60 seconds exceeded

发出请求的代码

$client = new GuzzleHttp\Client();
  $res = $client->sendAsync('post', 'http://api.ocr.space/Parse/Image',[
    'headers' => [
      'apikey' => 'helloworld',
    ],
    'multipart' => [
      [
        'name'     => 'language',
        'contents' => 'por',
      ],
      [
        'name'     => 'filetype',
        'contents' => 'png',
      ],
      [
        'name'     => 'file',
        'contents' => fopen(asset('/public/Screenshot_2.png'), 'r'),
        'filename' => 'file.png'
      ]
    ]
  ]);
  $content = json_decode($res->getBody(), true);

  dd($content);

2 个答案:

答案 0 :(得分:0)

也许尝试更新您的php.ini文件。

  1. 打开终端
  2. 输入'php --ini'
  3. 打开加载的配置

    ini_set('max_execution_time',x)

将x替换为所需的时间(以秒为单位)(即120)

答案 1 :(得分:0)

请在您的php.ini文件中更新您的最大执行时间,而且PHP服务器也可能导致发布请求出现问题,请尝试切换到apache或xamp服务器。有关更多信息:https://laracasts.com/discuss/channels/code-review/file-upload-using-guzzle-client