아래 스크립트는 무기한 작동하며 php myscript.php
을 사용하여 시작됩니다.언제 curl_close()를 사용해야합니까?
http://example.com/longpolling.php은 php myscript.php
과 통신 할 수있는 경우에만 응답하며, 아래의 말풍선 요청은 longpolling.php가 시간 제한에 도달하기 전에 시간 초과됩니다.
각 루프의 컬 연결을 닫았다가 다시 열거 나 무기한 열어 두어야합니까?
<?php
// php myscript.php
$options=[
CURLOPT_URL=>'http://example.com/longpolling.php',
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_CONNECTTIMEOUT => 300,
CURLOPT_TIMEOUT=> 300
];
$ch = curl_init();
curl_setopt_array($ch, $options);
while (true) {
$rsp = curl_exec($ch);
// Do something
//curl_close($ch); //should I close and reopen?
}
while 루프에서 'curl_close'를 사용하면 curl을 다시 초기화해야합니다. 왜냐하면 curl_init는 새로운 세션을 초기화하고 curl_setopt(), curl_exec() 및 curl_close() 함수와 함께 사용할 cURL 핸들을 반환합니다. – Kumar
@ 쿠마. 메모리/성능/안정성의 이유가 있습니까? – user1032531
@apokryfos 나는 그렇게하는 것이 옳다는 말은 아니지만 완벽하게 작동하는 것처럼 보인다. 그것이 "단일 요청을 처리하기로되어있다"는 것이 문서화되어 있습니까? – user1032531