2014-02-03 4 views
0

У меня есть 3 вопроса о Curl в PHP:Закрытие Curl в PHP

  1. Как проверить, если завиток ручка открытое соединение?
  2. Является ли PHP автоматически закрытием cURL-соединений?
  3. Есть ли недостатки, чтобы не звонить curl_close()?

ответ

1

Позволяет ответить, начиная с самых простых один

Да, PHP закрывает соединение, по крайней мере, от его конечной точки, другая сторона соединения может иметь задержку на его закрытия или освобождения гнезда или освобождения потока процесса уже используется, но PHP закрывает соединение, когда сборщик мусора работает в конце сценария scope/function/script, который выполнял cURL.

Недостатки при вызове curl_close() зависят от того, как работает ваш скрипт/работает, если ваш скрипт делает что-то, что заставляет его открывать/работать, тогда вы используете ресурсы, циклы CPU, оперативную память и сокеты, которые могут или могут не иметь значения в зависимости от каждой ситуации, но мы можем согласиться с тем, что это хорошая практика для освобождения ресурсов как можно скорее. Специально, если вы находитесь в ограниченной или очень ограниченной среде, например, на общем хостинге, где оперативная память и сокеты могут быть недоступны. Это может усугубиться, если вы используете несколько опций, таких как curl_multi_init, curl_multi_exec и т. Д.

О том, что это открытое соединение, я не совсем уверен, но я полагаю, что вы можете использовать часть информации, полученной с curl_getinfo и сравнить, например, с размером передачи и тем, что у вас уже есть, или время принимает

0

ручка завитка - это ресурс, использование is_resource может вам помочь. Даже если php закрывает дескриптор самостоятельно, я не думаю, что вызов curl_close() имеет какие-либо недостатки. Обратите внимание: я понятия не имею, что PHP закрывает ручку завитка самостоятельно или нет, но я лично считаю, что curl_close - хороший способ прекратить все.! :)

Счастливое кодирование !!