International PHP Conference Berlin 2025

Introduzione

L'obiettivo principale di CLI SAPI è quello di sviluppare applicazioni shell con PHP. Esistono alcune differenze tra la CLI SAPI e le altre SAPI; queste saranno illustrate nel corrente capitolo. Val la pena ricordare che CLI e CGI sono differenti SAPI sebbene condividano il medesimo comportamento in diverse situazioni.

La CLI SAPI è abilitata di default con l'opzione --enable-cli, ma può esseredisattivata usando --disable-cli quando si usa il comando ./configure.

Il nome, la posizione, e l'esistenza di eseguibili CLI/CGI differiranno in base a come il PHP sarà installato sul sistema. Per default quando si esegue il make, si compila sia la versione CGI sia la versione CLI e saranno poste rispettivamente in sapi/cgi/php-cgi e sapi/cli/php a partire dalla directory dei sorgenti. Occorre notare che entrambi gli eseguibili sono chiamati php. Ciò che accade durante l'esecuzione di make install dipende dalla linea di configurazione. Se durante la configurazione si è scelto un modulo SAPI, tipo apxs, o si è attivato --disable-cgi, l'eseguibile CLI viene copiato in {PREFIX}/bin/php durante make install, altrimenti in questa cartella sarà posto l'eseguibile CGI. Così, per esempio, se si ha come parametro di configurazione --with--apxs allora l'eseguibile CLI sarà copiato in {PREFIX}/bin/php durante make install. Se si vuole evitare l'installazione dell'eseguibile CGI, utilizzare make install-cli dopo make install. In alternativa si può specificare --disable-cgi nella linea di configurazione.

Nota:

Poiché sia --enable-cli sia --enable-cgi sono abilitati per default, avere semplicemente --enable-cli nella linea di configurazione non significa necessariamente che l'eseguibile CLI sia copiato come {PREFIX}/bin/php con l'esecuzione di make install.

La versione CLI viene inserita nella cartella principale, con il nome php.exe in Windows. La versione CGI è chiamata php-cgi.exe. Inoltre, è distribuito un file chiamato php-win.exe se PHP è configurato con --enable-cli-win32. Questo è equivalente alla versione CLI, tranne che php-win non visualizzerà nulla e quindi non vi sarà la finestra di console.

Nota: Quale SAPI ho?

Da shell, digitando php -v si avrà l'informazione di quale php si tratta, CGI o CLI. Vedere anche la funzionei php_sapi_name() e la costante PHP_SAPI per dettagli.

Nota:

Una pagina stile man di Unix è disponibile digitando man php da linea di comando.

add a note

User Contributed Notes 1 note

up
62
Anonymous
3 years ago
SAPI = Server Application Programming Interface
CGI = Common Gateway Interface
To Top