El principal objetivo de la SAPI CLI es el desarrollo de aplicaciones de consola con PHP. En este capítulo se explican las diferencias que hay entre la SAPI CLI y otras SAPI. Vale la pena aclarar que CLI y CGI son SAPI diferentes pese a que comparten la mayoría de características.
La SAPI CLI se habilita por omisión con --enable-cli , aunque puede deshabilitarse usando la opción --disable-cli al ejecutar ./configure.
Tanto el nombre, ubicación y presencia de los binarios de CLI/CGI diferirán dependiendo de cómo se instale PHP en el sistema. Al ejecutar make de manera predeterminada, CGI y CLI se construyen y ubican como sapi/cgi/php-cgi y sapi/cli/php respectivamente, en el directorio origen de PHP. Debe tenerse en cuenta que las dos se llaman php. Lo que suceda durante la ejecución de make install dependerá de la línea de configuración. Si durante la configuración se elige una SAPI de módulo, tal como apxs, o bien se usa la opción --disable-cgi , se copiará CLI a {PREFIJO}/bin/php al ejecutar make install; de lo contrario se colocará CGI ahí. Por ejemplo, si se utiliza --with-apxs en la línea de configuración, CLI se copiaría a {PREFIJO}/bin/php durante make install. Si se desea sobrescribir la instalación del binario de CGI, debe usarse make install-cli tras make install. Alternativamente se puede especificar --disable-cgi en la línea de configuración.
Nota:
Ya que tanto --enable-cli como --enable-cgi están habilitadas predeterminadamente, el simple hecho de tener --enable-cli en la línea de configuración no implica que CLI se copie como {PREFIJO}/bin/php durante make install.
Desde PHP 5, en Windows el binario de CLI se distribuye en la carpeta principal con el nombre de php.exe. La versión CGI se distribuye como php-cgi.exe. Además, se distribuye un fichero php-win.exe si PHP se configuró con --enable-cli-win32 . Este funciona igual que la versión CLI, solo que no muestra ninguna salida y, por tanto, no proporciona ninguna consola.
Nota: ¿Qué SAPI tengo?
Desde la consola, al escribir php -v sabremos si php es CGI o CLI. Véase también la función php_sapi_name() y la constante
PHP_SAPI
.
Nota:
En Unix hay disponible una página del manual escribiendo man php en la terminal.