php_sapi_name în PHP

Returnează modul în care rulează PHP: cli (linia de comandă), fpm-fcgi, apache2handler și altele.

Sintaxă
php_sapi_name(): string|false

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.