Ce face gc_status
Cheile principale: runs (de câte ori a rulat colectorul), collected (câte valori a eliberat în total), threshold (numărul de candidați la care pornește singur) și roots (câți candidați sunt acum). Din PHP 8.3 există și running, protected, full, buffer_size și timpii petrecuți în colector.
Ce returnează
Un tablou asociativ cu statistici.
Exemple
Exemplul 1: Statisticile după o colectare
<?php
for ($i = 0; $i < 5; $i++) {
$a = new stdClass();
$a->eu = $a;
}
unset($a);
gc_collect_cycles();
$stare = gc_status();
foreach (["runs", "collected", "threshold", "roots"] as $cheie) {
echo "$cheie: " . $stare[$cheie] . "\n";
}
Rezultat
runs: 1
collected: 5
threshold: 10001
roots: 0
Greșeli frecvente
- Compari timpii din
gc_status()între rulări diferite ca și cum ar fi exacți. Sunt măsurători în secunde, care variază de la o rulare la alta.
Comenzi înrudite
gc_collect_cycles: Pornește imediat colectorul de referințe circulare și returnează câte valori a eliberat.gc_enabled: Verifică dacă colectorul de referințe circulare este pornit.gc_mem_caches: Eliberează memoria păstrată în rezervă de managerul de memorie al PHP și returnează câți octeți a eliberat.