Rozdiely medzi CLI a CGI
📅 15. 10. 2021
PHP môže bežať v rôznych prostrediach. Najbežnejším prostredím je CGI
, ktoré sa spustí, keď PHP spracuje požiadavku HTTP. Skript PHP je však možné spustiť aj z terminálu, v tomto prípade ide o takzvanú úlohu CLI (Command-line interface).
Najdôležitejšie rozdiely medzi CLI a CGI
- Na rozdiel od
CGI SAPI
,CLI
štandardne nezapisuje na výstup žiadne hlavičky. - Niektoré direktívy
php.ini
sú vCLI SAPI
prepísané, pretože v prostredí shellu nemajú význam:-
html_errors
: CLI má predvolenú hodnotuFALSE
. -
implicit_flush
: predvolená hodnota CLI jeTRUE
-
max_execution_time
: predvolená hodnota CLI je0
(neobmedzené) -
register_argc_argv
: predvolená hodnota CLI jeTRUE
-
- Skript môže prijímať argumenty príkazového riadku! Premenná
$argc
udáva počet argumentov odovzdaných aplikácii. A pole$argv
poskytuje pole skutočných argumentov - Pre prostredie shellu sú definované 3 nové konštanty:
STDIN
,STDOUT
,STDERR
. Všetky sú spracovateľmi súborov pre príslušné zariadenie shell. NapríkladSTDIN
je obsluha súboru prefopen('php://stdin', 'r')
. Riadok zSTDIN
môžete prečítať takto:$strLine = trim(fgets(STDIN));
.STDIN
je už pre vás definovaný pomocouPHP CLI
. - PHP CLI nemení aktuálny adresár na adresár vykonávaného skriptu. Aktuálny adresár pre skript bude adresár, v ktorom spustíte príkaz PHP CLI.
- Pre CLI PHP je k dispozícii množstvo UŽITOČNÝCH možností. Ktoré vám umožnia získať cenné informácie o nastaveniach php, vašom php skripte alebo ho spustiť v rôznych režimoch.
- V PHP 5 došlo k určitým zmenám v názvoch súborov CLI a CGI. V PHP 5 bola verzia CGI premenovaná na
php-cgi.exe
(predtýmphp.exe
) a verzia CLI sa teraz nachádza v hlavnom adresári (predtýmcli/php.exe
). - V PHP 5 bol zavedený aj nový režim:
php-win.exe
. Táto verzia je ekvivalentná verzii CLI, až na to, že vphp-win
sa nič nevypisuje, a teda neposkytuje žiadnu konzolu (na obrazovke sa nezobrazuje žiadny "dos box"). Toto správanie je podobné ako priPHP GTK
.
Jan Barášek Viac o autorovi
Autor pracuje ako senior vývojár a softvérový architekt v Prahe. Navrhuje a spravuje veľké webové aplikácie, ktoré poznáte a používate. Od roku 2009 získal bohaté skúsenosti, ktoré odovzdáva prostredníctvom tejto webovej stránky.
Rád vám pomôžem:
Kontakt