IGDB APIに1000件のリクエストをする必要があり、私はこの作業をするのに困っています。スクリプトを実行するたびに、ウェブホストから「エラー:問題があります。何か問題が発生したようです。」というメッセージが表示されます。 (あまり役に立たない私は知っている)。PHPでAPIに何千ものリクエストを正しく行う方法
私はこの問題がリクエストの量から来ていると思うので、私はそれを減らそうとしましたが、私はそれぞれ60秒間のリクエストを4秒間停止しています。
私の最新の試み:
$splice = array_splice($array, 0, 60);
foreach($splice as $key => $value){
$request = wp_remote_get('https://igdbcom-internet-game-database-v1.p.mashape.com/games/?fields=*&search='.$value['Name'],
array('headers' => array(
'Accept' => 'application/json',
'X-Mashape-Key' => 'Key')));
$body = wp_remote_retrieve_body($request);
$data_api = json_decode($body, true);
sleep(4);
}
誰もが私が間違っているのか知っているだろうか?私はアイデアが不足しています...
あなたはおそらく何も間違っていません。ただし、あなたは要求のタイムアウトに陥っています。 一般的に、Webサーバー(Apache、Nginxなど)には、「エラー」ページが表示される前にスクリプトからの応答を待つ時間が設定されています。さらに、PHP自体には時間制限があります。 PHP側からは、 'set_time_limit(0)'を無効にすることができます。 Webサーバー側からは、プロバイダーによっては変更できない場合があります。 一般に、これはWebページの代わりにコンソールコマンドにする必要があります。 –
CMS内のWebページから一括インポートを実行しようとしているのはなぜですか? – symcbean