0
저는 Lightspeed 서버를 실행하고 내장 된 LS 캐시를 사용하여 페이지를 캐시합니다.Guzzle이 요청을 올바르게 실행하지 않습니다.
페이지를 저장할 때 캐시에 제거 요청을 실행하는 플러그인을 작성하고 있지만 Guzzle이 일괄 처리 된 요청을 올바르게 전송하지 못하는 것 같습니다.
Guzzle에서 오류가 표시되지 않지만 서버에 충돌하는 PURGE 요청을 볼 수 없습니다. 그러나 대신 cURL을 실행하면 훌륭하게 작동합니다.
$batch = \Guzzle\Batch\BatchBuilder::factory()
->transferRequests(20)
->bufferExceptions()
->build();
$client = new \Guzzle\Http\Client();
$client->setDefaultOption('headers/Accept', '*/*');
foreach ($paths as $path)
{
$request = $client->createRequest('PURGE', $path);
$request->setProtocolVersion('1.0');
$request->addHeader('Host', 'mydomain.com');
$batch->add($request);
}
$requests = $batch->flush();
$batch->clearExceptions();
컬 모두의
foreach ($paths as $path)
{
$curl = curl_init($path);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PURGE");
curl_exec($curl);
}
Guzzle 6을 의존성으로 추가하고이 코드를 연결하면 요청이 성공적으로 전송됩니다. 감사합니다 알렉세이. –