PHP podržava različite interfejse (SAPI) za interakciju sa okruženjem u kojem radi i povezivanje sa eksternim tehnologijama kao što su CLI i CGI (FastCGI).
Od verzije 4.3.0, PHP podržava dodatni interfejs koji se zove CLI (interfejs komandne linije) namenjen za upotrebu u shell okruženju.
On se koristi za razvoj aplikacija u PHP-u (koje se mogu automatizovati uz pomoć Cron zadataka), za administraciju, testiranje i druge zadatke, pogodne za upotrebu/izvršavanje u shell okruženju. Pokreće se direktno na serveru, bez prethodnog zahteva za povezivanje sa veb-serverom iz CGI (FastCGI) interfejsa.
PHP CLI se razlikuje od drugih interfejsa najviše iz dva razloga:
- ne vraća HTTP zaglavlja; počinje sa -q (quiet mode) opcijom podrazumevano, što sprečava prikaz HTTP zaglavlja (stdout);
- ne menja trenutni direktorijum za direktorijum u kojem se nalazi skripta koja se izvršava;
- koristi samo poruke sa greškom koje su tekstualne prirode. php.ini direktiva je postavljena na sledeći način: html_errors:FALSE. Ovo je zbog toga što je čitanje poruka sa greškom sa HTML tagovima prilično komplikovano dok se radi u shell okruženju. Iz ovog razloga se HTML formatiranje onemogućava;
- neke php.ini direktive su prepisane za CLI zato što nemaju upotrebu u shell okruženju.
- max_execution_time: 0 (neograničeno) nema restrikcija za izvršenje skripte;
- max_input_time: FALSE- CLI ne podržava GET; POST ili otpremanje fajlova;
PHP se konfiguriše i instalira na serveru sa dva zasebna izvršna/binarna fajla. Jedan za CLI i jedan za CGI ( FastCGI).
Za sve PHP verzije: | |
PHP FastCGI | /opt/cpanel/ea-phpXX/root/usr/bin/php-cgi |
PHP CLI | /opt/cpanel/ea-phpXX/root/usr/bin/php |
ea-phpXX – zamenite sa verzijom PHP-a, na primer /opt/cpanel/ea-php72/root/usr/bin/php |
Napomena: Možete pogledati sve dostupne PHP verzije u PHP Manager by Superhosting meniju u cPanel-u.
PHP postavke za dva pomenuta interfejsa se razlikuju:
Korišćenje prilagođenog php.ini fajla za PHP preko SSH-a