請幫忙!我的錯在哪里?
在 $rty 我有陣列 url
我了解我在過去 2 段代碼中遇到的問題,但我不知道在哪里
雖然這很奇怪,因為我通過示例做了第二部分
也許我不能做兩個 int 但我不明白為什么如果我通過 curl_close 分別關閉會話
謝謝大家的幫助和解答
$headers2 = array(
"Accept: application/json",
"Ocp-Apim-Subscription-Key: 85888888888888888888",
);
$ch2 = curl_init("https://api.wto.org/qr/v1/notifications?locale=en&type=complete-notification&status=published");
function ex_curl_setopt($ch2, int $option2, $val2): void
{
if (!curl_setopt($ch2, $option2, $val2)) {
throw new \RuntimeException("curl_setopt failed: " . curl_errno($ch2) . ":" . curl_error($ch2));
}
}
curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers2);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
$response2 = curl_exec($ch2);
if(curl_errno($ch2)){
throw new \RuntimeException("curl_exec failed: ".curl_errno($ch2).": ".curl_error($ch2));
}
curl_close($ch2);
$data2 = json_decode($response2, true, 999, JSON_THROW_ON_ERROR);
$rty = [];
foreach ($data2['data'] as $links) {
$rty[] = $links['details'];
}
$multi = curl_multi_init();
$handles = [];
foreach ($rty as $newdata) {
$ch = curl_init ($newdata);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle ($multi, $ch);
$handles[$newdata] = $ch;
}
do {
$mrc = curl_multi_exec($multi, $active);
} while ($mrc = CURLM_CALL_MULTI_PERFORM);
while ( $active && $mrc = CURLM_OK)
{
if (curl_multi_select ($multi)= -1) {
usleep(100);
}
do {
$mrc = curl_multi_exec ($multi, $active);
} while ($mrc = CURLM_CALL_MULTI_PERFORM);
}
foreach ($handles as $channel) {
$html = curl_multi_getcontent($channel);
var_dump($html);
curl_multi_remove_handle ($multi, $channel);
}
curl_multi_close ($multi);
uj5u.com熱心網友回復:
$multi = curl_multi_init();
$handles = [];
foreach ($rty as $newdata) {
$ch = curl_init ($newdata);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle ($multi, $ch);
$handles[$newdata] = $ch;
}
do {
$mrc = curl_multi_exec($multi, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ( $active && $mrc == CURLM_OK)
{
if (curl_multi_select ($multi)== -1) {
usleep(100);
}
do {
$mrc = curl_multi_exec ($multi, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
foreach ($handles as $channel) {
$html = curl_multi_getcontent($channel);
var_dump($html);
curl_multi_remove_handle ($multi, $channel);
}
curl_multi_close ($multi);
uj5u.com熱心網友回復:
在這種情況下,不能在寫入背景關系中使用函式回傳值
if (curl_multi_select ($multi)= -1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/459355.html
上一篇:cacert選項和行程替換
