getmypid în PHP

Returnează ID-ul procesului (PID) în care rulează scriptul.

Sintaxă
getmypid(): int|false

Ce face getmypid

Sistemul de operare dă fiecărui proces un număr unic, PID-ul. getmypid îl returnează pe al procesului PHP curent. Este folosit în jurnale (ca să știi ce proces a scris o linie) și în fișierele de blocare ale scripturilor de cron.

Pe servere cu PHP-FPM, același proces servește multe cereri pe rând, deci PID-ul nu este unic pentru fiecare cerere.

Ce returnează

PID-ul sau false la eroare.

Exemple

Exemplul 1: PID-ul în jurnal

<?php
$linie = sprintf("[%s] [pid %d] Import pornit\n", date("H:i:s"), getmypid());
echo $linie;

Rezultat posibil (diferă la fiecare rulare)

[14:05:12] [pid 48213] Import pornit

Greșeli frecvente

  • Folosești PID-ul ca identificator unic pentru o cerere web. Procesele PHP-FPM sunt refolosite. Pentru un ID unic folosește bin2hex(random_bytes(8)).

Comenzi înrudite

  • getmyuid: Returnează ID-ul utilizatorului care deține fișierul scriptului PHP curent.
  • getrusage: Returnează resursele folosite de proces: timp de procesor, memorie maximă, citiri de pe disc.
  • flock: Blochează un fișier ca două scripturi să nu îl modifice în același timp.