El propósito principal de CLI SAPI es el desarrollo de aplicaciones shell con PHP. Las diferencias entre CLI SAPI y otros SAPI se explican en este capítulo. Es importante mencionar que CLI y CGI son SAPI diferentes a pesar de que puedan compartir la mayor parte de sus comportamientos.
El CLI SAPI se activa por defecto utilizando la opción --enable-cli, pero se puede desactivar utilizando la opción --disable-cli al ejecutar el comando ./configure.
El nombre, la ubicación y la existencia de los binarios CLI/CGI dependerán de la forma en que PHP esté instalado en su sistema. Por defecto, al ejecutar make, ambos binarios CGI y CLI se compilan y se nombran respectivamente sapi/cgi/php y sapi/cli/php en su directorio fuente PHP. Se observará que ambos se nombran php. Lo que sucede después durante el make install depende de su línea de configuración. Si un módulo SAPI, como apxs, se ha elegido durante la configuración, o si la opción --disable-cgi se ha activado, el CLI se copia en {PREFIX}/bin/php durante el make install, de lo contrario, el CGI se colocará aquí. Si, por ejemplo, --with-apxs figura en su línea de configuración, el CLI se copia en {PREFIX}/bin/php durante el make install. Si se desea forzar la instalación del binario CGI, ejecute make install-cli después del make install. De lo contrario, también se puede especificar --disable-cgi en su línea de configuración.
Nota:
Dado que ambas opciones --enable-cli y --enable-cgi están activadas por defecto, tener simplemente --enable-cli en su línea de configuración no implica necesariamente que el CLI se renombre a {PREFIX}/bin/php durante el make install.
El binario CLI se distribuye en el directorio principal bajo el nombre de php.exe en Windows. La versión CGI se distribuye bajo el nombre de php-cgi.exe. Además, un archivo php-win.exe se distribuye si PHP se configura utilizando la opción de configuración --enable-cli-win32. Este archivo hace lo mismo que la versión CLI, excepto que no muestra nada y no proporciona una consola.
Nota: ¿Qué SAPI está instalado?
Desde un terminal, ejecutar php -v indicará si php está en versión CGI o CLI. También se puede consultar la función php_sapi_name() y la constante
PHP_SAPI
.
Nota:
Una página
man
de manual Unix está disponible escribiendo man php en el intérprete de comandos.