Η διατήρηση μιας λαβής cURL μπορεί να επιτρέψει σε μεταγενέστερες μεταφορές να επαναχρησιμοποιήσουν συμβατές συνδέσεις από τη μνήμη. Δεν μπορεί όμως να αναγκάσει έναν διαμεσολαβητή να κρατήσει μια σύνδεση TCP ανοιχτή επ' αόριστον.

Ο απομακρυσμένος κόμβος μπορεί να κλείσει μια αδρανή σύνδεση, μια διαδρομή δικτύου μπορεί να εξαφανιστεί και μια μεταγενέστερη μεταφορά μπορεί να χρειάζεται διαφορετική διαδρομή ή σήραγγα. Η επαναχρησιμοποίηση είναι βελτιστοποίηση στην πλευρά του πελάτη, υπό αυτές τις συνθήκες, και όχι εγγύηση διαθεσιμότητας.

Για επαναλαμβανόμενη εργασία μέσω μιας πολιτικής διαμεσολαβητή, κρατήστε ζωντανή την αντίστοιχη λαβή ή τη μνήμη συνδέσεων multi-handle και αποφύγετε επιλογές που ζητούν σκόπιμα νέες συνδέσεις ή απαγορεύουν την επαναχρησιμοποίηση, εκτός αν η εργασία τις χρειάζεται. Εξετάστε την πραγματική συμπεριφορά της μεταφοράς πριν υποθέσετε ότι ένα συντομότερο δεύτερο αίτημα αποδεικνύει επαναχρησιμοποίηση.

Προσέξτε τα παλιά παραδείγματα PHP που λένε ότι η σύνδεση μένει ανοιχτή "μέχρι την curl_close". Η PHP τεκμηριώνει ότι η curl_close() δεν έχει κανένα αποτέλεσμα από την PHP 8.0 και είναι παρωχημένη από την PHP 8.5. Η κυριότητα των πόρων και ο κύκλος ζωής των αντικειμένων πρέπει να γίνονται κατανοητά στην έκδοση PHP που αναπτύσσετε.

Ένας χρονοδιακόπτης που στέλνει επαναλαμβανόμενα αιτήματα για να κρατά τον διαμεσολαβητή ζεστό προσθέτει κίνηση και ακόμη δεν μπορεί να εμποδίσει το απομακρυσμένο άκρο να κλείσει. Προτιμήστε την κανονική διαχείριση συνδέσεων, τα φραγμένα αιτήματα και σαφείς κανόνες επανάληψης αντί για την υπόσχεση ότι μια σύνδεση μέσω διαμεσολαβητή θα επιβιώνει πάντα.

Σχετικά άρθρα