1

私は http クライアントを開発しており、http 要求を行うために php curl 拡張機能を選択しています。API には、パラメーターとして多次元の jsonが必要です。

    $jsonData = json_encode($data);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'Content-Length: ' . strlen($jsonData))
    );

    $response = curl_exec($ch);
    curl_close($ch);

このスニペットを単一のスクリプト ファイルとして使用し、php cli で試してみると動作しますが、laravel では動作しません。「最大実行時間が 60 秒を超えました」というエラーが表示されます。

stackoverflow を見ると、ほとんどの例で 1 次元のjsonオブジェクトが使用されています。

  • json ディメンションに関する php curl 設定に制限はありますか?
  • 上記のエラーを検索すると、「max_input_time = 60」に関連していますが、これを 120 以上に変更してもエラー メッセージは変わりませんでした。

  • 私はlaravelフレームワークを使用していますが、laravelにはこれに関連する構成がありますか?

4

2 に答える 2

0

http_build_query()の代わりに使用してみましたjson_encode()か?

私の知る限り、php curl の json のサイズに関する制限はありません。私はlaravelを使ったことはありませんが

于 2016-03-17T09:45:09.503 に答える