Ce face php_sapi_name
php_sapi_name spune prin ce interfață a fost pornit PHP. "cli" înseamnă linia de comandă (inclusiv cron), iar valori ca "fpm-fcgi", "apache2handler" sau "cgi-fcgi" înseamnă server web. Aceeași valoare este în constanta PHP_SAPI.
Se folosește pentru scripturi care trebuie să meargă diferit în terminal și în browser, sau ca să blochezi rularea din browser a unui script de întreținere.
Ce returnează
Numele interfeței, cu litere mici.
Exemple
Exemplul 1: Linia de comandă sau server web
Exemplele de pe această pagină au fost rulate din linia de comandă.
<?php
echo php_sapi_name() . "\n";
echo PHP_SAPI === "cli" ? "Rulez în terminal" : "Rulez pe server web";
Rezultat
cli
Rulez în terminal
Exemplul 2: Script care rulează doar din cron
<?php
if (PHP_SAPI !== "cli") {
http_response_code(403);
exit("Acest script rulează doar din linia de comandă.");
}
echo "Curăț cache-ul...";
Rezultat
Curăț cache-ul...
Greșeli frecvente
- Compari cu
"fpm"sau"apache". Valorile exacte sunt mai lungi ("fpm-fcgi","apache2handler"). Pentru „nu e terminal”, compară doar cu"cli".
Comenzi înrudite
php_uname: Returnează informații despre sistemul de operare pe care rulează PHP.phpversion: Returnează versiunea PHP care rulează scriptul sau versiunea unei extensii.getopt: Citește opțiunile date unui script în linia de comandă, de exemplu -v sau –fisier=produse.csv.